Ответ 1
Напишите свой собственный контекстный процессор.
У меня есть файл базового шаблона (base.html), и каждый другой шаблон распространяется на него и генерирует контент, используя его блоки. Определенные переменные, такие как nav_obj, используются в файле базового шаблона.
Вид:
nav_obj = NavigationObject.objects.all()
Базовый шаблон:
{% for object in nav_obj %}
<a href="{{ object.link }}">{{ object.title }}</a>
{% endfor %}
На данный момент мне нужно передать nav_obj во всех представлениях. Есть ли способ отправить это автоматически?
Напишите свой собственный контекстный процессор.
Теги включения могут быть хорошей альтернативой процессору контекста.
Существует альтернатива, перенаправленная здесь: Определение глобальной переменной " в шаблонах Django
Использование примера фрагмента:
{% setglobal foo 0 %}
value={% getglobal foo %}
{% incrementglobal foo 0 %}
value={% setglobal foo %}
Вы также можете посмотреть Django-navbar для его документации и тестов.