1

次のスニペットを含む .pt テンプレートを作成しました

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

私の問題は、 password_confirm フィールドが常にピラミッドフレームワークによってレンダリングされるとは限らないため、以下のエラーが表示されることです

chameleon.utils.NameError

NameError: password_confirm

tal:condition を使用することになっていることは理解していますが、試みていることはすべて失敗しています。テンプレートで常にレンダリングされるとは限らない変数について、私がどのように考えているかについて、誰かが私を助けてくれますか?

4

2 に答える 2

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

動作するはずです

于 2012-01-31T17:04:29.520 に答える
3

tal:on-error="nothing"たぶん、span タグを追加できます。次に、エラーが発生した場合、スパン全体がレンダリングされません。

<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>
于 2012-01-13T16:56:39.093 に答える