Подтвердить что ты не робот

Django форма ошибки печатает __all__

Этот код в шаблоне входа по умолчанию:

{{ form.errors }}

Производит этот вывод html, когда учетная запись неактивна:

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

Почему он печатает строку _all _?

Я использую версию разработки, кстати.

4b9b3361

Ответ 1

А, я должен был использовать:

{{ form.non_field_errors }}

вместо

Ответ 2

Если вы, как и я, все еще хотите отображать ВСЕ ошибки сразу, вы можете перебирать 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>