有一个网站,我有一个div黑色矩形用作页脚,数据从页脚内的DB中提取。
我想在除了INDEX.HTML主页(模板)之外的django模板目录中创建的每个模板上显示此页脚。如果我将它放入BASE.HTML它将无处不在,如果我将它传播到我的所有20个模板,除了INDEX.HTML我需要编辑每个模板中的数据在页脚我不想这样做。如何在除INDEX.HTML之外的所有模板中显示页脚,但仅使用它一次来编辑页脚中的数据。是否有一个django命令或像IF模板= index.html隐藏页脚等类似的逻辑或什么是实现这一目标的最佳方法?
由于
答案 0 :(得分:1)
您可以将block
tag用于此目的。
如果您发现自己在多个模板中复制内容,则可能意味着您应将该内容移至父模板中的
{% block %}
base.html
中的
{% block footer_content %}
{# contents here #}
{% endblock %}
并在index.html
{% block footer_content %}
{# this overwrites the base footer_content to empty block #}
{% endblock %}
这将仅删除index.html
中的内容,并且可以从base.html
继承的所有其他网页上获取
现在,如果您希望向某些网页添加更多内容,
{% block footer_content %}
{{ block.super }}
{# more content here #}
{% endblock %}