【发布时间】:2011-01-03 08:54:31
【问题描述】:
我有一个结构,在我的基本模板中,(% block heading %} 通常有一个页面标题:
base.html
<h2>{% block heading %}{% endblock %}</h2>
大多数时候,我会通过扩展 base 的模板传递这样的标题:
extends-base.html
{% block heading %}Super Cool Page!{% endblock %}
但是,对于一个特殊的页面,我不想有一个页面标题:
extends-base-special.html
{% block heading %}{% endblock %}
理想情况下,这应该排除<h2> 标签。现在,我可以让所有扩展模板都包含<h2> 标签,但这违反了 DRY,因为每个页面都应该具有相同的页面级标题元素。我更喜欢这样做(这似乎不起作用):
base-prefered.html
{% if heading %}
<h2>{% block heading %}{% endblock %}</h2>
{% endif %}
这在模板级别上是否可行,还是我必须为此投入视图?
【问题讨论】: