这是关于MVC的一般性问题。
我有一组用于多个控制器及其操作的模板。所有这些都继承自包含页脚/标题的整体模板。
我想要标题来呈现当前登录用户的电子邮件。共同的任务。
所有教程都过于简单,无法获得如何以及在何处传递所有控制器操作(操作集)的公共数据的基本示例。
我是否需要修改BaseController以将数据添加到tmpl_context? 或者创建另一个类,如BaseControllerForActionsWithHeaderData,它具有设置tmpl_context.email的____before____方法......?
答案 0 :(得分:1)
如果您需要这些变量中的任何一个,原则上,对于应用程序中的每个控制器,可能最好将它们放在BaseController的__before__
方法中。如果只需要很少的控制器就需要它们,你应该为它创建一个单独的类。另一种选择是为每种方法使用装饰器......
从未在文档中发现如何以“pylons-style”的方式进行操作,但我不认为这非常重要,您应该为您选择最方便,最“干净”的方式。 / p>