我正在使用Mako的继承功能将常见的页面元素(例如标头和页脚)分解为“ base.mako”模板。特定于页面的控制器使用自己的模板,该模板继承了base.mako。

base.mako需要一组变量 - 例如,已记录的用户的名称输入所有页面的标题。但是,选择并渲染模板的是单个页面控制器,因此负责将变量传递给该模板。

我宁愿所有这些页面控制器不必知道基本模板在其上下文中需要什么。在这种情况下,建立基本模板上下文的好方法是什么?

提前致谢!

有帮助吗?

解决方案

您为页面控制器有两个OO设计选择。

通用功能可以两种方式处理。

  • 遗产。所有页面控制器都是提供共同属性的普通类的子类。

  • 代表团。所有页面控制器都是管道的一部分,其中一些常见的过程(页面控制器之前或之后)在其他信息中折叠。

你必须选择一个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top