2014-07-02 2 views
0

Теперь я использую Class Based View в своем приложении Django, и это помогает мне развиваться быстрее.Django CBV, повторяющий тот же запрос на каждой странице

я до сих пор вопрос о том, как лучше реализовать следующее:

У меня есть информация в моей базе данных мне нужно всегда иметь в почти каждый шаблон у меня есть (кроме шаблона, где пользователь не вошел в).

Каков хороший способ сделать это с помощью Django? Можно ли создать представление на основе класса с помощью настраиваемого запроса в методе .get()?

Спасибо :)

+1

Создайте собственный шаблонный контекстный процессор. – Rohan

ответ

2

Существуют различные способы сделать это.

Если вы постоянно используете представления на основе классов во всем мире, вы можете создать общий базовый класс с помощью настраиваемого метода get_context_data, который добавит ваши конкретные данные в словарь контекста.

Но более обычные способы решения этой проблемы не имеют ничего общего с представлениями на основе классов, а применяются ко всем видам представлений. Это custom template tags и context processors.

Для меня, вероятно, лучше всего использовать контекстный процессор: до тех пор, пока вы гарантируете, что ваш шаблон будет визуализирован с помощью RequestContext (который будет, если вы используете любое представление, которое наследуется от TemplateView), ваши дополнительные данные всегда будут добавлен в контекст шаблона.

+0

СПАСИБО: :) ContextProcessor был тем, чего мне не хватало;) –

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