【发布时间】:2011-03-23 21:52:01
【问题描述】:
我有多个相互包含的模板,例如:
t1.html:
...
<%include file="t2.html" args="docTitle='blablabla'" />
...
t2.html:
<%page args="docTitle='Undefined'"/>
<title>${docTitle}</title>
...
我想要做的是确定 t2 包含在 t1 中(或另一个,所以我可以使用它的名称)。文档中没有描述具体的方式引起我的注意,我可以传递另一个参数(例如 pagename='foobar'),但感觉更像是一种 hack。
有没有办法做到这一点,使用简单的 .render(blabla) 调用来渲染页面?
【问题讨论】:
-
我认为 Mako 没有办法执行您需要的内省(至少不是以任何干净的方式!)。 “显式优于隐式”远非“黑客”——它是正常、推荐 Python 方法——所以我只会使用额外的参数你'正在努力避免并且根本不认为这是一个糟糕的解决方案。
-
我正在开发的应用程序使用
rendertemplate(filename, ...)而不是.render()方法,因此我为该函数制作了一个包装器,将模板名称放入参数中。我想可以为render方法做类似的事情。