В моем шаблоне я хочу выполнить итерации через все ошибки формы, включая тех, которые НЕ принадлежат определенному полю. (что означает для 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>
Все еще никакой успех, я буду greatful для любого предложения.
Ошибки формы в Django реализованы в виде экземпляра ErrorDict
(который является просто подклассом dict
с дополнениями). Попробуйте немного изменить синтаксис цикла в вашем шаблоне:
{% for key, value in form.errors.items %}
Вы, случайно, не ищете form.non_field_errors
? Так вы получите доступ к ошибкам, которые не связаны с конкретным полем.
{% if form.non_field_errors %}
<ul>
{{ form.non_field_errors.as_ul }}
</ul>
{% endif %}
Посмотрите также тестовый набор forms.py для другого примера. Search for form.non_field_errors