我正在使用带有 Mako 模板的 Pyramid 1.3。我有一个名为“create”的方法的视图,该方法将空字典返回到模板。我打算使用相同的“create.mako”模板进行创建和编辑。我已经在我的输入字段中放置了这样的上下文变量:
<input type="text" id="nameInput" value="${content['name']}" />
问题是当我尝试加载 create 方法时出现如下错误:
<input id="nameInput" value="${content['name']}" type="text" class="span8" style="background-color: #EED3D7;" />
TypeError: 'Undefined' object is unsubscriptable
这当然是正确的,因为 create 方法只返回一个空字典,因此没有键“content”。这在 Pylons 0.9.7 中曾经很好;如果它不存在,它将只是一个空字符串。
我从 StackOverflow 找到了一个解决方案:
import mako.runtime
mako.runtime.UNDEFINED = ''
但是我应该把它放在我的 Pyramid 项目中的什么地方呢?