我有一个结构,在我的基本模板中通常在(% block heading %}
中有一个页面标题:
base.html
<h2>{% block heading %}{% endblock %}</h2>
大多数情况下,我会通过扩展base的模板来传递这样的标题:
extended-base.html
{% block heading %}Super Cool Page!{% endblock %}
但是,对于特殊页面,我不想显示页面标题:
extended-base-special.html
{% block heading %}{% endblock %}
理想情况下,应排除
<h2>
标记。现在,我可以使所有扩展模板都包含<h2>
标记,但这违反了DRY,因为每个页面的页面级标题都应具有相同的元素。我想做的是这样(似乎不起作用):base-prefered.html
{% if heading %}
<h2>{% block heading %}{% endblock %}</h2>
{% endif %}
这在模板级别上是否可行,还是我必须为此考虑一下?
最佳答案
你可以把它包起来
{% block noheader %}
<h2>{% block header %}Super Cool Page!{% endblock header %}</h2>
{% endblock noheader %}
在没有标题的页面上
{% block noheader %}{% endblock %}
关于django - 测试模板中是否存在模板 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2035385/