我有一个基本模板文件(base.html),每个其他模板都扩展到它,并使用其块生成内容。某些变量(例如nav_obj)在基本模板文件中使用。
查看:
nav_obj = NavigationObject.objects.all()
基本模板:
{% for object in nav_obj %}
<a href="{{ object.link }}">{{ object.title }}</a>
{% endfor %}
目前,我需要在每个视图中传递nav_obj。有没有办法让它自动发送?
答案 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的文档和测试..