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

发布于 2024-12-25 11:18:01 字数 539 浏览 4 评论 0原文

我使用带有 mako 的 pylons 作为模板引擎,并且我有一个使用

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

${foo.someFunction()}

调用 someFunction() 的模板。这样它就可以正常工作,但现在我需要文件 "../bar.html" 可以动态更改,如下所示:

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

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

NameError:未定义全局名称'c'

模板中的其他地方${c. filename} 工作正常。

有谁知道我如何动态实现此导入?

提前致谢, 芦香

I am using pylons with mako as templating engine and I have a template which uses

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

and

${foo.someFunction()}

to call someFunction(). This way it is working correctly, but now I need the file "../bar.html" to be changeable dynamically like:

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

where c.filename is set in the controller. This way it isn't working and I get the following exception:

NameError: global name 'c' is not defined

Everywhere else in the template ${c.filename} is working correctly.

Does anybody know how I can achieve this import dynamically?

Thanks in advance,
ashiaka

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

高速公鹿 2025-01-01 11:18:01

使用时它起作用:

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

当我分别

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

It's working when I use:

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

respectively

<%namespace name="foo" file="${context['c'].filename}"/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文