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