2012-01-13 72 views
1

我创建了一个.PT模板包含下面的代码片段变色龙ZPT模板

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

我的问题是,password_confirm字段不会总是由金字塔架构,使其显示如下

错误渲染
chameleon.utils.NameError 

NameError: password_confirm 

我知道我应该使用tal:condition但是我所尝试的一切都失败了。有人可以帮我解释我如何去寻找那些并不总是在模板中呈现的变量。

回答

3

也许你可以在span标签中添加tal:on-error="nothing"。然后,如果发生错误,整个跨度将不会呈现。

<span class="help-block" tal:on-error="nothing"> 
    ${password_confirm} 
</span> 

您可以使用别的东西而不是任何东西。

更新:这种方法通常不是可取的,但在某些情况下可能是最简单的。

UPDATE2:另一种变体(不与变色龙选中)

<span class="help-block" tal:condition="password_confirm|nothing"> 
    ${password_confirm} 
</span> 
+0

的作品,但我一直在寻找沿着河谷的路线的东西:忽略标签=“不是: bold – Madawar 2012-01-14 01:08:29

+0

不确定在这种情况下omit-tag如何工作,它只是表示将被忽略,但内容将被渲染。 – 2012-01-15 15:24:26

6
<span class="help-block" tal:condition="exists:password_confirm"> 
    ${password_confirm} 
</span> 

应该工作