Python模板,有没有办法从多个html文件继承?

时间:2015-05-05 13:48:25

标签: python templates flask

所以说我有这个结构

<html>
   <body>
      <div>Here goes content 1</div>
      <div>Here goes content 2</div>
      <div>Here goes content 3</div>
   <body>
</html>

我可以对另一个文件进行扩展,而不是让这里有内容1,2,3我可以有块。但这意味着无论哪个文件继承此基本模板,都必须包含所有三个块。是否可以做类似

的事情
<html>
   <body>
      <div>{% grabfrom 'firstdiv.html' %}</div>
      <div>{% grabfrom 'seconddiv.html' %}</div>
      <div>{% grabfrom 'lastdiv.html' %}</div>
   <body>
</html>

然后我可以提供这个模板吗?

1 个答案:

答案 0 :(得分:3)

您可以使用{% include '<template name>' %} syntax将其他模板加载到特定位置:

<html>
   <body>
      <div>{% include 'firstdiv.html' %}</div>
      <div>{% include 'seconddiv.html' %}</div>
      <div>{% include 'lastdiv.html' %}</div>
   <body>
</html>

如果这些包含不需要访问当前上下文(变量),则可以通过在语句中添加关键字without context来启用这些包含的缓存:

 <html>
   <body>
      <div>{% include 'firstdiv.html' without context %}</div>
      <div>{% include 'seconddiv.html' without context %}</div>
      <div>{% include 'lastdiv.html' without context %}</div>
   <body>
</html>

请参阅模板设计器文档的Import Context Behaviour section