【问题标题】:Django, loop over all form errorsDjango,遍历所有表单错误
【发布时间】:2011-01-28 14:01:10
【问题描述】:

在我的模板中,我想遍历所有表单错误,包括不属于特定字段的错误。 (这意味着对于 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>

仍然没有成就,如果有任何建议,我将不胜感激。

【问题讨论】:

    标签: django django-forms


    【解决方案1】:

    Django 中的表单错误被实现为ErrorDict 实例(它只是dict 的子类,带有附加功能)。尝试对循环语法的模板稍作调整:

    {% for key, value in form.errors.items %}
    

    【讨论】:

      【解决方案2】:

      您是否正在寻找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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-11-16
        • 2016-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-29
        • 2015-09-24
        相关资源
        最近更新 更多