gpt4 book ai didi

django:如何仅访问 form.errors 中的第一条错误消息?

转载 作者:行者123 更新时间:2023-12-04 12:07:44 26 4
gpt4 key购买 nike

我有一个名为 Users 的模型,我有一个名为 UsersForm 的模型的表单。在我的 views.py 中,我创建了一个版本的 UsersForm,就像这样

form = UsersForm()
if reqest.method == POST:
form = UsersForm(request.POST)
if form.is_valid():
form.save()
c = {}
c.update(csrf(request))
c.update({'form':form})
return render_to_response('home_page.html', c)

现在,我的 home_page.html 是这样的:
<html>
<body>

<form method="post" action="">{% csrf_token %}
{{ form }}
<input type="submit" value="Register"/>
</form>

{% if form.errors %}
{% for field in form %}
<p> {{field.errors}} </p>
{% endfor %}
{% endif %}
</body>
</html>

所以,我想要的是,我只想显示 {{field.errors}} 中的第一个错误。
我的想法是这样的:
    {% if form.errors %}
{% for field in form %}
<p> {{field.errors}} </p> {{ break}}
{% endfor %}
{% endif %}

但是 django 模板语言没有中断,对吧?我也尝试考虑使用 {% for field in form|slice:":1"%} 但这也行不通。有人知道怎么做吗?

最佳答案

您可以使用点表示法在 django 模板中索引列表:

{{ field.errors.0 }}

在执行此操作之前,请务必检查是否至少有 1 个错误,否则您将收到索引超出范围错误。

关于django:如何仅访问 form.errors 中的第一条错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18950079/

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