如何在pylons / mako中实现动态命名空间导入?

时间:2012-01-07 18:19:15

标签: python pylons mako

我使用mako作为模板引擎的挂架,我有一个使用

的模板
<%namespace name="foo" file="../bar.html"/>

${foo.someFunction()}

调用someFunction()。这样它工作正常,但现在我需要文件“../ bar.html”可动态更改,如:

<%namespace name="foo" file="${c.filename}"/>

其中 c.filename 在控制器中设置。这种方式不起作用,我得到以下异常:

NameError:未定义全局名称“c”

模板 $ {c.filename} 中的其他任何位置都正常工作。

有人知道如何动态实现此导入吗?

提前致谢, ashiaka

1 个答案:

答案 0 :(得分:3)

我使用时它正在工作:

<%namespace name="foo" file="${context['tmpl_context'].filename}"/>
分别

<%namespace name="foo" file="${context['c'].filename}"/>