Jinja2模板语言是否具有“这里”(当前目录)的概念?

发布于 2021-01-29 18:11:53

Jinja2是否支持模板相对路径,例如%(here)s/other/template.html,以包含相对于当前模板在文件系统中位置的其他模板?

关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我不相信。通常,您可以通过指定相对于您使用的任何模板加载器和环境的根的路径来包括或扩展其他模板。

    因此,假设您的模板全部放入,/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会想出如何找到它的方法。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看