Как я могу добиться динамического импорта пространства имен в пилонах / Мако? - PullRequest
1 голос
/ 07 января 2012

Я использую пилоны с мако в качестве движка шаблонов, и у меня есть шаблон, который использует

<%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 Ответ

3 голосов
/ 07 января 2012

Это работает, когда я использую:

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

соответственно

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