Jinja2模板语言是否具有“这里”(当前目录)的概念?
Jinja2是否支持模板相对路径,例如%(here)s/other/template.html
,以包含相对于当前模板在文件系统中位置的其他模板?
-
我不相信。通常,您可以通过指定相对于您使用的任何模板加载器和环境的根的路径来包括或扩展其他模板。
因此,假设您的模板全部放入,
/path/to/templates
并且您已经按照以下方式设置了Jinja:import jinja2 template_dir = '/path/to/templates' loader = jinja2.FileSystemLoader(template_dir) environment = jinja2.Environment(loader=loader)
现在,如果您想将其包括
/path/to/templates/includes/sidebar.html
在/path/to/templates/index.html
模板中,则可以在中编写以下内容index.html
:{% include 'includes/sidebar.html' %}
Jinja会想出如何找到它的方法。