这个问题曾经被问过,但是没有得到答案,所以我直接重新提问它。
我正在尝试在子模板中设置一个变量,以便更改父模板如何呈现事物。在这个问题中,我展示了一个实际的例子。
我的网站有两种类型的模板。一种是将内容显示为窄屏幕的模板,另一种是全屏宽度的模板。
(我删除了所有复杂性,以便向您展示一个简单的例子)
page.html
{% extends "base.html" %}
{% block content %}
<div id="pageContentContainer">
<div class="row">
{% if fullwidth %}
<div class="col-12">fffff
{{super()}}
</div>
{% else %}
<div class="col-9">
{{super()}}
</div>
{% endif %}
</div>
</div>
{% endblock %}
page-fullwidth.html
{% extends "page.html" %}
{% block content %}
{% set fullwidth = true %}
{{super()}}
{% endblock %}
这不起作用。在父模板中,变量fullwidth
不是真的。
有没有其他实际的方法来解决这个问题?我不想在page-fullwidth.html
中重复page.html
的内容。(在真实情况下,这个文件更加复杂。)