2014-10-14 4 views
0

У меня есть django, и я написал несколько просмотров. Я знаю, как передать свои переменные в шаблон, но у меня также есть некоторые внешние модули со своими собственными представлениями, которые я не буду изменять.
Пожалуйста, помогите мне понять, как я могу получить один из моих объектов «Menu.objects.all()» существуют во всех шаблонах?

Так, например, у меня есть регистрация django, и я хочу, чтобы все мои пункты меню отображались сверху, когда кто-то не посещал мой URL-адрес приложения. Я имею в виду, что это будет url приложения регистрации, который возвращает templateresponse (и здесь у меня нет переменной).Сделать объект существует во всех шаблонах

ответ

1

Вы можете добавить переменные к контексту

+1

так: http://rubayeet.wordpress.com/2009/10/31/django-how-to-make-a-variable-available-in-all-templates/ –

+0

Это отличная статья. Просто не забудьте прочитать комментарии для исправлений. – aliteralmind

0

Чистейший способом сделать это, является использование шаблона контекста процессора, который представляет собой крючок, который позволит вам добавить вещи в контекст, прежде чем шаблон визуализации.

http://www.djangobook.com/en/2.0/chapter09.html

https://docs.djangoproject.com/en/dev/ref/templates/api/#writing-your-own-context-processors

Вот пример контекстных процессоров шаблонов, используемых в ядре Джанго: https://github.com/django/django/blob/master/django/template/context_processors.py

Смежные вопросы