Где я могу установить общие данные для заголовка в пилонах?

Это довольно общий вопрос о MVC.

У меня есть набор шаблонов для нескольких контроллеров и их действий. Все они наследуются от общего шаблона, который содержит нижний колонтитул / заголовок.

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

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

Нужно ли изменять BaseController для добавления данных в tmpl_context? Или создайте другой класс, такой как BaseControllerForActionsWithHeaderData, который имеет метод ____before____, который устанавливает tmpl_context.email...?

1 ответ

Если вам нужна какая-либо из этих переменных, в принципе, для каждого контроллера в вашем приложении, вероятно, хорошей идеей будет поместить их в __before__ метод BaseController. Если они вам нужны только в нескольких контроллерах, вам, вероятно, следует создать для них отдельный класс. Другой вариант - использовать декораторы для каждого метода...

Никогда в документации не встречалось предложения, как это сделать в "стиле пилонов", но я не думаю, что это очень важно, и вам следует выбрать наиболее удобный и "чистый" способ для вас.

Другие вопросы по тегам