django表单错误打印__all__

Asd*_*sdf 11 forms printing django

此代码在默认登录模板中:

{{ form.errors }}
Run Code Online (Sandbox Code Playgroud)

帐户处于非活动状态时生成此html输出:

<ul class="errorlist">
  <li>__all__
    <ul class="errorlist">
      <li>This account is inactive.</li>
    </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

为什么要打印字符串_ all _

顺便说一句,我正在使用开发版本.

Asd*_*sdf 22

啊,我应该用过:

{{ form.non_field_errors }}
Run Code Online (Sandbox Code Playgroud)

代替


gra*_*aup 5

如果您像我一样仍希望一次显示所有错误,则可以遍历form.errors.items.

这一行:

{{ form.errors }}
Run Code Online (Sandbox Code Playgroud)

变成这样:(或类似)

<ul class="errorlist">
    {% for key, value in form.errors.items %}
    <li>{% if key != '__all__' %}{{ key }} {% endif %}{{ value }}</li>
    {% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)