Getting a list of errors in a Django form
form.errors is a dictionary. When you do {% for error in form.errors %}
error corresponds to the key.
Instead try
{% for field, errors in form.errors.items %}
{% for error in errors %}
...
Etc.
Dannys's answer is not a good idea. You could get a ValueError.
{% if form.errors %}
{% for field in form %}
{% for error in field.errors %}
{{field.label}}: {{ error|escape }}
{% endfor %}
{% endfor %}
{% endif %}