Formularios Django: si no es válido, muestra el formulario con mensaje de error

I Django formularios, puede verificar si el formulario es válido:

if form.is_valid(): return HttpResponseRedirect('/thanks/') 

¿Pero me falta algo qué hacer si no es válido? ¿Cómo devuelvo el formulario con los mensajes de error? No veo el “else” en ninguno de los ejemplos.

    Si representa la misma vista cuando el formulario no es válido, en la plantilla puede acceder a los errores de formulario utilizando form.errors .

     {% if form.errors %} {% for field in form %} {% for error in field.errors %} 
    {{ error|escape }}
    {% endfor %} {% endfor %} {% for error in form.non_field_errors %}
    {{ error|escape }}
    {% endfor %} {% endif %}

    Un ejemplo:

     def myView(request): form = myForm(request.POST or None, request.FILES or None) if request.method == 'POST': if form.is_valid(): return HttpResponseRedirect('/thanks/') return render_to_response('my_template.html', {'form': form}) 

    views.py

     from django.contrib import messages def view_name(request): if request.method == 'POST': form = form_class(request.POST) if form.is_valid(): return HttpResponseRedirect('/thanks'/) else: messages.error(request, "Error") return render(request, 'page.html', {'form':form_class()}) 

    Si desea mostrar los errores del formulario que no sean válidos, simplemente ponga {{form.as_p}} como lo que hice a continuación

    page.html

          {{form.as_p}}   
     def some_view(request): if request.method == 'POST': form = SomeForm(request.POST) if form.is_valid(): return HttpResponseRedirect('/thanks'/) else: form = SomeForm() return render(request, 'some_form.html', {'form': form})