Хамелеон ZPT шаблоны - PullRequest
       22

Хамелеон ZPT шаблоны

1 голос
/ 13 января 2012

Я создал шаблон .pt, так как он содержит следующий фрагмент

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

Моя проблема в том, что поле password_confirm не всегда будет отображаться структурой пирамиды, поэтому оно отображает ошибку ниже

chameleon.utils.NameError

NameError: password_confirm

Я понимаю, что должен использовать условие tal: но все, что я пытаюсь, терпит неудачу.Может ли кто-нибудь помочь мне с тем, как мне поступить с переменными, которые не всегда будут отображаться в шаблоне.

Ответы [ 2 ]

6 голосов
/ 31 января 2012
<span class="help-block" tal:condition="exists:password_confirm">
   ${password_confirm}
</span>

должно работать

3 голосов
/ 13 января 2012

Может быть, вы можете добавить tal:on-error="nothing" в тег span. Затем, если произойдет ошибка, весь промежуток не будет обработан.

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

Вы можете использовать что-то другое вместо ничего.

ОБНОВЛЕНИЕ: этот подход обычно не рекомендуется, но в некоторых случаях может быть полезен как самый простой.

ОБНОВЛЕНИЕ2: другой вариант (не проверен с Хамелеоном)

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