【问题标题】:Is it possible to perform Includes with flask?是否可以使用烧瓶执行包含?
【发布时间】:2012-03-29 13:25:02
【问题描述】:

假设我有一个模板布局保存在 template.html 中。此模板包括横幅、侧边导航、内容容器和页脚。我可以使用flask来分解这些页面元素,以便我可以拥有banner.html、sidenavigation.html等文件并在template.html中呈现这些不同的文件吗?

【问题讨论】:

    标签: html templates flask jinja2 ssi


    【解决方案1】:

    发件人:http://jinja.pocoo.org/docs/templates/#include

    模板.html

    {% include 'banner.html' %}
    {% include 'sidenavigation.html' %}
    {% include 'content.html' %}
    {% include 'footer.html' %}
    

    【讨论】:

    • 您可能还想查看模板继承,因为它可能是做您想做的更强大的方式:jinja.pocoo.org/docs/templates/#template-inheritance
    • 需要注意的是,在Jinja2中不能创建继承层次结构,只能继承一个文档深一层。
    • @MadPumpkin:你到底是什么意思?您可以根据需要扩展任意多个级别。不可能从多个其他模板扩展单个模板(也许这就是您的意思?)
    【解决方案2】:

    默认情况下,Flask 使用 Jinja2 作为其模板引擎。请参阅 Jinja 的 Template Designer Documentation 是如何完成的。

    【讨论】:

    • 但是是否可以突出显示sidenavigation.html中哪个页面处于活动状态?
    【解决方案3】:

    在开始之前,需要将这些组件作为纯html单独写到其他html文件中。例如,这些文件不应包含任何 jinja 语法。之后,根据documentation,您可以通过调用{% include 'filename.html' %}代码轻松地将它们导入到您的template.html文件中。

    【讨论】:

      猜你喜欢
      • 2014-05-06
      • 1970-01-01
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多