2013-04-23 91 views
0

我已经偶然发现了Mako中的继承问题。我会尽力来说明使用以下两个模板文件的问题...在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> 

有谁知道为什么吗?