Django,全局模板变量

时间:2010-02-08 17:15:14

标签: django django-templates

我有一个基本模板文件(base.html),每个其他模板都扩展到它,并使用其块生成内容。某些变量(例如nav_obj)在基本模板文件中使用。

查看:

nav_obj = NavigationObject.objects.all()

基本模板:

{% for object in nav_obj %}
<a href="{{ object.link }}">{{ object.title }}</a>
{% endfor %}

目前,我需要在每个视图中传递nav_obj。有没有办法让它自动发送?

4 个答案:

答案 0 :(得分:24)

编写自己的context processor

答案 1 :(得分:5)

Inclusion tags可能是上下文处理器的一个好看的替代品。

答案 2 :(得分:2)

此处有一个替代方案,重定向:Defining "global variable" in Django templates

Snippet示例用法:

{% setglobal foo 0 %}
value={% getglobal foo %}
{% incrementglobal foo 0 %}
value={% setglobal foo %}

答案 3 :(得分:0)

您还可以查看Django-navbar的文档和测试..