将变量传递给由多个视图扩展的Django模板

时间:2018-01-07 11:39:04

标签: django django-templates django-views

我有一个Django模板base.html,我在几个视图中扩展。每个视图都添加一个内容块,并提供呈现该块所需的信息。 现在我想更改base.html以显示一些系统状态信息。这是否意味着我需要更新每个视图以从DB请求此信息并将其传递到模板中,或者是否有更好的方法来执行此操作?

base.html

<body>
<div>
    {{ system.status }}
</div>
<div>
{% block content %}
{% endblock %}
</div>
</body>

view1.htmlview2.htmlview3.html

{% extends 'base.html' %}
{% block content %}
<div>
    {{ view_specific.info }}
</div>
{% endblock %}

是否应该为每个视图提供system对象?

1 个答案:

答案 0 :(得分:0)

谢谢Daniel Roseman,用custom inclusion tag解决了这个问题。