我有一个html,我想在所有页面中出现,除了一个。如果不是这个页面,我会把它放在base.html
并扩展。
除了将代码单独放在所有必需的页面之外,还有其他方法吗?
答案 0 :(得分:1)
你可以将它放入一个被忽略的块中,以便忽略它。例如:
<强> base.html文件
{% block content %}
<div>
This should show on all pages except for this one
</div>
{% endblock content %}
included-page.html (div将包含在此页面中)
{% extends 'base.html' %}
ignored-page.html (此页面将忽略div)
{% extends 'base.html' %}
{% block content %}
{% endblock content %}
答案 1 :(得分:1)
来自模板继承docs,
模板引擎会注意到base.html中的 {%block%} 标记,并将这些块替换为子模板的内容。
<强> BUT
如果子模板没有定义块,则来自的值 而是使用父模板。 a。中 {%block%} 标记内的内容 父模板始终用作后备。
因此,在这种情况下,您可以在base.html中使用 {%block%} 标记。
{% block content %}
<!-- Your content here-->
{% endblock %}
您不必在每个模板中定义该块,因为父 {%block%} 用作后备。
{% extends 'base.html' %}
因此,在您的例外情况下,只需定义 {%block%} 标记,不要包含任何数据或其他内容。
{% extends 'base.html' %}
{% block content %}
<!-- Nothing goes here -->
{% endblock content %}