我正在学习金字塔框架。在
到目前为止,我能够为每个视图创建一个单独的模板。在
但他们都有相同的头脑内容。在
那么,在金字塔中定义父模板最标准的方法是什么?在
我发现有一种方法可以通过金字塔事件来实现:
@subscriber(BeforeRender)
def add_base_template(event):
base = get_renderer('templates/base.pt').implementation()
event.update({'base': base})
但我不喜欢这种方法。在
Tags:
这个问题在讨论布局的金字塔教程中得到了回答。您没有要求宏,但它们是您当前正在探索的主题的一部分。在
这里回答了为什么使用布局是一个先进的概念。但是这个想法的实现可能会有所不同,这取决于项目的需求和开发人员的技能。在
我在我自己的项目中使用布局,不需要任何变色龙的知识来管理加载模板。它封装在金字塔附加组件包pyramid_chameleon中。在
你应该避免在这里使用金字塔事件。Pyramid的默认模板语言是Chameleon,您似乎正在使用它,但您也可以轻松地使用Mako或其他模板语言。重点是:在金字塔中没有定义父模板的标准方法,因为它不关心您使用哪种模板语言。在
变色龙的标准方法如下所示。在
首先,一个基本模板,主.pt:
一个例子儿童.pt,它首先加载父模板,然后填充内容槽:
^{pr2}$可能的金字塔视图功能:
当然,这假设我在其他地方定义了一个文档类。金字塔代码中只提到了子模板。我的view_document函数将document对象foo传递到儿童.pt模板,然后调用主.pt依次设置模板。在
相关问题 更多 >
编程相关推荐