变色龙ZPT模板
我创建了一个 .pt 模板,里面包含了以下代码片段:
<span class="help-block">
${password_confirm}
</span>
我的问题是,密码确认字段在 pyramid 框架中并不是总会显示,所以会出现下面的错误:
chameleon.utils.NameError
NameError: password_confirm
我知道我应该使用 tal:condition,但我尝试的所有方法都没有成功。有人能帮我一下吗?我该如何处理那些不一定会在模板中显示的变量呢?
2 个回答
3
你可以在标签中加上tal:on-error="nothing"
。这样,如果出现错误,整个就不会被显示出来。
<span class="help-block" tal:on-error="nothing">
${password_confirm}
</span>
你也可以用其他的东西来代替“nothing”。
更新:这种方法一般不太推荐,但在某些情况下可能是最简单的选择。
更新2:还有另一种变体(没有和Chameleon进行检查)
<span class="help-block" tal:condition="password_confirm|nothing">
${password_confirm}
</span>
6
<span class="help-block" tal:condition="exists:password_confirm">
${password_confirm}
</span>
应该可以工作