Mako“%def中缺少括号”

时间:2010-04-30 06:04:34

标签: python pylons mako

在尝试将缓存部分添加到Mako模板时,我收到上述问题中列出的错误。将()添加到最后会消除错误,但我在页面上看不到任何内容。任何帮助表示赞赏!

<%def name="test" cached="True" cache_timeout="60" cache_type="file">
    Test
/%def>

2 个答案:

答案 0 :(得分:0)

我的问题是我不知道<%def>定义了一个函数。如果我使用括号并在定义后立即通过${test()}调用该函数,它将按预期工作。

答案 1 :(得分:-1)

在定义def测试时,您是否应该使用parantheses? 此外,如果“缓存”等参数,那么我认为你的 你的定义应该如下所示:

<%def name="test(cached='True',cache_timeout='60',cache_type='file')"> 
    Test 
/%def> 

<%def name="test(cached='True',cache_timeout='60',cache_type='file')"> Test /%def>

另见Mako documentation