django form error messages not showing

I found the mistake (typo).

The snippet should be:

{% if form.errors %}
    {% for field in form %}
        {% for error in field.errors %}
            <p> {{ error }} </p>
        {% endfor %}
    {% endfor %}
{% endif %}

I had errors instead of error.


you have to send your form context again if is_valid() isn't true,

    if form.is_valid():

        return redirect('/user/contact/')
    else:
        return render(request, 'users/contact.html', context={'form': form})

because your errors will display in your form else: it will return ValueError