2013-04-23 3 views
0

Я наткнулся на проблему с наследованием в Мако. Я попытаюсь проиллюстрировать эту проблему ниже, используя два файла шаблона ...Используйте такое же имя переменной, как имя наследуемого блока в Mako?

base.tpl - имеет именованный блок название:

<title><%block name="title"></%block></title> 

foo.tpl - наследует от основания .tpl и устанавливает название:

<%inherit file="base.tpl" /> 
<%block name="title">${title}</%block> 

шаблон визуализируется (с использованием бутылки) с:

... 
return mako_template('foo', title="My title") 

Теперь я ожидал, что выход будет

<title>My title</title> 

, но вместо этого он становится:

<title><function render_title.<locals>.title at 0x0346A1E0></title> 

Любые подсказки? Использование другого имени переменной, чем блок работает ... но я хотел бы использовать то же самое, если это возможно!

ответ

1

Используя это вместо работы:

<%block name="title">${context["title"]}</%block> 

Кто-нибудь знает, почему?