Mako中的块和Defs

时间:2012-05-22 10:32:18

标签: python templates mako

我对Mako完全陌生,所以忍受我。

我有一系列用于布局的块。其中一个块需要在同一页面上声明一些变量。我无法让它正常工作。这是非常基本的,我知道,但我正在学习,无法在Mako文档中找到解决方案。这样做的正确语法和/或方法是什么?

我想让userInputViews更加全局化,因为它在其他块中的使用方式也类似。 currentSet的值是任意的,不会被分析,因为它被传递到页面并且工作正常。

我得到的错误是关于userInputViews未定义。

  
<%
userInputViews = [
  "MediatorAddress", 
  "MediatorDateOfBirth", 
  "MediatorEmailAddress"
]
%>

<%block name="contentAction">
  % if set(userInputViews) == set(currentSet):
    user inputs are currently selected
  % endif
</%block>

2 个答案:

答案 0 :(得分:2)

我只是想自己学习Mako,但我相信你已经在与块不同的命名空间中声明了userInputViews。

http://docs.makotemplates.org/en/latest/runtime.html

建议使用空dict作为“变量”调用render,然后将“global”变量插入到dict中。

寻找 那么,如果我想为模板请求中的每个人设置全局值,该怎么办? 例如

答案 1 :(得分:0)

使<% userInputViews块成为module-level <%!块。