我正在开发一个结合使用jinja2的PrefixLoader和PackageLoader的Flask应用程序,如下所示:
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异常。
这行得通吗?还是我误会了什么?