在Mako中使用相同的变量名作为继承块名称?

时间:2013-04-23 15:08:15

标签: bottle mako

我在Mako身上偶然发现了遗传问题。我将尝试使用两个模板文件来说明下面的问题...

base.tpl - 有一个命名的块标题

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

foo.tpl - 继承自base.tpl并设置标题:

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

使用以下代码渲染模板(使用Bottle)

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

现在我预计输出为

<title>My title</title>

但它变成了:

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

任何线索?使用与块不同的变量名称..但如果可能的话,我想使用相同的名称!

1 个答案:

答案 0 :(得分:1)

使用它代替工作:

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

有谁知道为什么?