我使用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
答案 0 :(得分:3)
我使用时它正在工作:
<%namespace name="foo" file="${context['tmpl_context'].filename}"/>
分别
<%namespace name="foo" file="${context['c'].filename}"/>