变色龙 ZPT 模板

发布于 2024-12-27 03:54:15 字数 338 浏览 1 评论 0原文

我创建了一个 .pt 模板,其中包含以下代码片段

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

我的问题是,password_confirm 字段并不总是由金字塔框架呈现,因此它显示下面的错误

chameleon.utils.NameError

NameError: password_confirm

我知道我应该使用 tal:condition 但我正在尝试的一切正在失败。有人可以帮助我了解如何处理并不总是在模板中呈现的变量吗?

I have created a .pt template as that contains the following snippet

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

My Problem is that the password_confirm field will not always be rendered by pyramid framework so it displays the error below

chameleon.utils.NameError

NameError: password_confirm

I understand i am suppose to use a tal:condition but everything i am trying is failing. Can someone help me on how i am suppose to go about variables that will not always be rendered in the template.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我乃一代侩神 2025-01-03 03:54:15
<span class="help-block" tal:condition="exists:password_confirm">
   ${password_confirm}
</span>

应该有效

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

should work

风为裳 2025-01-03 03:54:15

也许您可以在 span 标记中添加 tal:on-error="nothing" 。那么,如果发生错误,整个跨度将不会被渲染。

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

Maybe you can add tal:on-error="nothing" in the span tag. Then, if error occurs, the whole span will not be rendered.

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

You can use something else instead of nothing.

UPDATE: this approach is not generally advisable, but can be useful as simplest in some cases.

UPDATE2: another variant (not checked with Chameleon)

<span class="help-block" tal:condition="password_confirm|nothing">
   ${password_confirm}
</span>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文