我创建了一个.pt模板,其中包含以下代码段
<span class="help-block">
${password_confirm}
</span>
我的问题是,password_confirm字段并不总是由金字塔框架呈现,因此它会显示以下错误
chameleon.utils.NameError
NameError: password_confirm
我理解我想使用tal:条件,但我尝试的一切都失败了。有人可以帮助我,我想如何去做一些不会总是在模板中呈现的变量。
答案 0 :(得分:6)
<span class="help-block" tal:condition="exists:password_confirm">
${password_confirm}
</span>
应该有效
答案 1 :(得分:3)
也许您可以在span标记中添加tal:on-error="nothing"
。然后,如果发生错误,则不会渲染整个范围。
<span class="help-block" tal:on-error="nothing">
${password_confirm}
</span>
你可以使用其他东西而不是任何东西。
更新:这种方法通常不可取,但在某些情况下可能最简单。
UPDATE2:另一种变体(未经Chameleon检查)
<span class="help-block" tal:condition="password_confirm|nothing">
${password_confirm}
</span>