可以用flask执行Inclusion吗?

问题描述 投票:0回答:4

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

html templates flask jinja2 ssi
4个回答
121
投票

来自:http://jinja.pocoo.org/docs/templates/#include

模板.html

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

2
投票

默认情况下,Flask 使用 Jinja2 作为其模板引擎。请参阅 Jinja 的模板设计器文档它是如何完成的。


1
投票

开始之前,您需要将这些组件作为纯html单独写入到其他html文件中。例如,这些文件不应包含任何 jinja 语法。之后,根据文档,您可以通过调用

{% include 'filename.html' %}
代码轻松将它们导入到您的template.html文件中。


0
投票

仔细考虑是否使用继承(扩展)与组合(包含)。

如果您有多个结构几乎相同的页面,继承可能是最好的选择。但如果你“计划改变”,构图可能会更灵活,而且只是稍微长一点。

对于刚接触面向对象的人来说,过度使用继承是很常见的。请参阅“鲍勃叔叔”的问题,网址为 https://twitter.com/unclebobmartin/status/1308029538463625219?lang=en

© www.soinside.com 2019 - 2024. All rights reserved.