在我的模板中,我想迭代所有表单错误,包括那些不属于特定字段的错误。 (这意味着对于form.errors,它也应该显示__all__
错误)
我尝试了几个版本,即:
<div id="msg">
{% if form.errors %}
<div class="error">
<p><span>ERROR</span></p>
<ul>
{% for key,value in form.errors %}
{% for error in value %}
<li>{{ error }}</li>
{% endfor %}
{% endfor %}
</ul>
</div>
{% endif %}
</div>
仍然没有成就,我会很高兴任何建议。
答案 0 :(得分:33)
Django中的表单错误是作为ErrorDict
实例实现的(它只是dict
的子类,有额外的)。尝试稍微调整模板的循环语法:
{% for key, value in form.errors.items %}
答案 1 :(得分:16)
您是否有机会寻找form.non_field_errors
?这就是您如何访问与特定字段无关的错误。
{% if form.non_field_errors %}
<ul>
{{ form.non_field_errors.as_ul }}
</ul>
{% endif %}
另请查看forms.py test suite以获取其他示例。搜索form.non_field_errors