Django,遍历所有表单错误

Hel*_*nar 17 django django-forms

在我的模板中,我想迭代所有表单错误,包括那些不属于特定字段的错误.(这意味着对于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>
Run Code Online (Sandbox Code Playgroud)

仍然没有成就,我会很高兴任何建议.

Jar*_*die 34

Django中的表单错误是作为一个ErrorDict实例实现的(它只是dict附加组件的子类).尝试稍微调整模板的循环语法:

{% for key, value in form.errors.items %}
Run Code Online (Sandbox Code Playgroud)


Nic*_*sta 17

你有机会寻找form.non_field_errors吗?这就是您如何访问与特定字段无关的错误.

{% if form.non_field_errors %}
<ul>
    {{ form.non_field_errors.as_ul }}
</ul>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

另请参阅forms.py测试套件以获取另一个示例.搜索form.non_field_errors

  • 感谢您显示form.non_field_errors! (2认同)