Где я могу установить общие данные для заголовка в пилонах?
Это довольно общий вопрос о MVC.
У меня есть набор шаблонов для нескольких контроллеров и их действий. Все они наследуются от общего шаблона, который содержит нижний колонтитул / заголовок.
Я хочу, чтобы заголовок отображал электронную почту пользователя, вошедшего в систему. Общая задача.
Все учебные пособия слишком просты, чтобы иметь базовый пример того, как и где мне передавать общие данные для всех действий контроллера (набор действий).
Нужно ли изменять BaseController для добавления данных в tmpl_context? Или создайте другой класс, такой как BaseControllerForActionsWithHeaderData, который имеет метод ____before____, который устанавливает tmpl_context.email...?
1 ответ
Если вам нужна какая-либо из этих переменных, в принципе, для каждого контроллера в вашем приложении, вероятно, хорошей идеей будет поместить их в __before__
метод BaseController. Если они вам нужны только в нескольких контроллерах, вам, вероятно, следует создать для них отдельный класс. Другой вариант - использовать декораторы для каждого метода...
Никогда в документации не встречалось предложения, как это сделать в "стиле пилонов", но я не думаю, что это очень важно, и вам следует выбрать наиболее удобный и "чистый" способ для вас.