django表单错误打印__all__

时间:2011-03-07 14:56:42

标签: django forms printing

此代码位于默认登录模板中:

{{ form.errors }}

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

<ul class="errorlist">
  <li>__all__
    <ul class="errorlist">
      <li>This account is inactive.</li>
    </ul>
  </li>
</ul>

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

我正在使用开发版本。

2 个答案:

答案 0 :(得分:22)

啊,我应该用过:

{{ form.non_field_errors }}

代替

答案 1 :(得分:5)

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

这一行:

{{ form.errors }}

成为:(或类似)

<ul class="errorlist">
    {% for key, value in form.errors.items %}
    <li>{% if key != '__all__' %}{{ key }} {% endif %}{{ value }}</li>
    {% endfor %}
</ul>