ошибки формы django печатает __all__ - PullRequest
11 голосов
/ 07 марта 2011

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

{{ form.errors }}

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

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

Почему печатается строка _ all _ ?

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

Ответы [ 2 ]

22 голосов
/ 07 марта 2011

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

{{ form.non_field_errors }}

вместо

5 голосов
/ 02 июня 2013

Если вы, как и я, по-прежнему хотите отображать ВСЕ ошибки сразу, вы можете зациклить 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...