gpt4 book ai didi

django - 如何在模板中显示 Django 表单字段的值?

转载 作者:行者123 更新时间:2023-11-28 19:33:18 25 4
gpt4 key购买 nike

我有一个带有电子邮件属性的表单。

当使用 {{ form.email }} 时,如果出现验证错误,Django 仍会在输入标签的 value 属性中呈现先前的值:

<input type="text" id="id_email" maxlength="75" class="required"
value="some@email.com" name="email">

我想自己渲染输入标签(添加一些 JavaScript 代码和错误类以防出错)。例如,这是我的模板而不是 {{ form.email }}:

<input type="text" autocomplete="on" id="id_email" name="email"
class="email {% if form.email.errors %} error {% endif %}">

但是,这不会向用户显示错误值(在本例中为 some@email.com)。

如何获取模板中字段的值?

最佳答案

这是一个功能请求,已在 Django 1.3 中修复。

这是错误:https://code.djangoproject.com/ticket/10427

基本上,如果您在 1.3 之后运行某些东西,您可以在 Django 模板中执行以下操作:

{{ form.field.value|default_if_none:"" }}

或者在 Jinja2 中:

{{ form.field.value()|default("") }}

请注意 field.value() 是一个方法,但在 Django 模板中 () 被省略,而在 Jinja2 中方法调用是显式的。

如果您想知道正在运行的 Django 版本,它会在您执行 runserver 命令时告诉您。

如果您使用的是 1.3 之前的版本,您可能可以使用上述错误中发布的修复程序:https://code.djangoproject.com/ticket/10427#comment:24

关于django - 如何在模板中显示 Django 表单字段的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2236691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com