Импорт относительного пути внутри шаблонов, загруженных с помощью Jinja PrefixLoader

Я работаю над приложением Flask, которое использует jinja2 PrefixLoader и PackageLoader в сочетании следующим образом:

app.jinja_loader = PrefixLoader({
    'app': PackageLoader('flask_skeleton_ui'),
    'govuk_frontend': PackageLoader('govuk_frontend_jinja', 'govuk-frontend/src/')
})

Тем самым позволяя мне загружать шаблоны так:

{% extends "govuk_frontend/template.html" %}

Однако jinja, похоже, пытается найти шаблоны внутри пакета govuk_frontend, которые используют относительный импорт, например:

{% from "./components/skip-link/macro.html" import govukSkipLink %}

Я ожидаю, что это будет разрешено относительно родительского шаблона внутри пакета. Но это не так, и выдается исключение TemplateNotFound.

Должно ли это работать? Или я что-то не так понял?

0 ответов

Другие вопросы по тегам