Django, глобальные переменные шаблона

У меня есть файл базового шаблона (base.html), и каждый другой шаблон расширяется до него и генерирует контент, используя его блоки. Некоторые переменные, такие как nav_obj, используются в файле базового шаблона.

Вид:

nav_obj = NavigationObject.objects.all()

Базовый шаблон:

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

На данный момент мне нужно передавать nav_obj во всех представлениях. Есть ли способ, чтобы это отправлялось автоматически?


person Hellnar    schedule 08.02.2010    source источник


Ответы (4)


Напишите свой собственный контекстный процессор.

person Ignacio Vazquez-Abrams    schedule 08.02.2010
comment
Спасибо! Хорошие подробности здесь: b-list .org / weblog / 2006/14 июня / - person Hellnar; 08.02.2010
comment
У меня вопрос относительно глобальных переменных в представлениях Django. Не могли бы вы высказать свое мнение? stackoverflow.com/questions/39490843/django-app-level-variables < / а> - person Pankaj Singhal; 15.09.2016
comment
Не могли бы вы предоставить код для этого? - person Zack Plauché; 28.01.2021

Теги включения могут быть привлекательными альтернатива контекстному процессору.

person speakman    schedule 09.02.2010


Вы также можете посмотреть документацию и тесты на Django-navbar ..

person dartdog    schedule 08.02.2010