变色龙ZPT模板

时间:2012-01-13 16:51:00

标签: python templates pyramid chameleon

我创建了一个.pt模板,其中包含以下代码段

<span class="help-block">
   ${password_confirm}
</span>

我的问题是,password_confirm字段并不总是由金字塔框架呈现,因此它会显示以下错误

chameleon.utils.NameError

NameError: password_confirm

我理解我想使用tal:条件,但我尝试的一切都失败了。有人可以帮助我,我想如何去做一些不会总是在模板中呈现的变量。

2 个答案:

答案 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>