Доступ к ‹%def› в прилагаемом файле mako

В настоящее время я реализую функцию в приложении Flask. У меня есть несколько родительских файлов mako, которые включают в себя один и тот же дочерний файл mako.

# parent.mako
...
<%def name="title()">${page_title}</%def>
<%include file="child.mako"/>
...


# child.mako
<h1>${title()} Discussion</h1>

По сути, я пытаюсь передать title() в child.mako. Однако блок def, похоже, не отображается во включенном файле. Может ли кто-нибудь еще дать мне решение? Надеюсь будет легко и просто.


person Ginny Huang    schedule 15.12.2014    source источник


Ответы (1)


Вы можете попробовать импортировать пространство имен в файл вашего дочернего шаблона:

<%namespace name="title_namespace" file="parent.mako"/>

то вы сможете использовать его как:

${title_namespace.title()}

Я надеюсь, что это поможет вам.

person MobilePro.pl    schedule 10.06.2015