2012-01-13 113 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> 

應該工作