我想知道在整个项目中多次包含模板的最佳方法,并且可能在父模板中多次包含模板。这包括子模板只是一个必须用变量和html块填充的骨架。示例模板:
parent.html:
<p>Popup #1</p>
{% include "popup.html" %}
<p>Popup #2</p>
{% include "popup.html" %}
popup.html:
<h1 class="title">{% block title %}{% endblock %}</h1>
<div class="body">{% block body %}{% endblock %}</div>
我能想到的唯一解决方案是为每个弹出窗口分别创建一个文件,并在每个文件中扩展popup.html。然后,我可以将这些扩展文件包含在我的父文件中。这需要为每个弹出窗口添加一个令人沮丧的文件。 什么是实现这一目标的最佳方式?
答案 0 :(得分:4)
Django模板引擎在这个领域陷入困境。无法在其中包含文件和解析块。您可以将数据传递到包含,允许您执行以下操作:
<h1 class="title">{{ title }}</h1>
<div class="body">{{ body }}</div>
但是如果你需要实际的块,它们必须直接在主模板文件或其父模板之一。