gpt4 book ai didi

python - Django 访问表单错误,不包括模板中的 non_field_errors

转载 作者:行者123 更新时间:2023-11-30 22:22:04 25 4
gpt4 key购买 nike

在 django 模板中,我想在表单顶部显示所有表单错误,最简单的方法是这样做:

{{ form.errors }}

问题是,这还显示了 form.non_field_errors,这些是 form.errors['__all__'] 中包含的条目。

我想单独显示这些特殊错误,所以我尝试循环字典并检查 key 是否存在:

{% for err in form.errors %}
{% if not err.__all__ %}
{# print error #}
{% endif %}
{% endfor %}

但显然这是不可能的,因为在模板中我们无法访问以下划线开头的字典键( doc )。

问题:是否有内置方法来访问(并可能打印)标准字段错误和单独的非字段错误?

解决方案这是建立在 Daniel Roseman 的 answer 之上的。 :

{% if form.errors %}
<div class="ui error icon message">
<ul>
{% if form.non_field_errors %}
{% for error in form.non_field_errors %}
<li>{{ error|escape }}</li>
{% endfor %}
{% endif %}

{% for field in form %}
{% if field.errors %}
<li> {{ field.name }}
<ul>
{% for error in field.errors %}
<li>{{ error|escape }}</li>
{% endfor %}
</ul>
</li>
{% endif %}
{% endfor %}
</ul>
</div>
{% endif %}

最佳答案

您可以循环遍历字段并访问它们的错误:

{% for field in form %}
{% field.errors %}
{% endfor %}

关于python - Django 访问表单错误,不包括模板中的 non_field_errors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48439532/

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