I formularios Django, puede verificar si el formulario es válido:
if form.is_valid():
return HttpResponseRedirect('/thanks/')
¿Pero me falta qué hacer si no es válido? ¿Cómo devuelvo el formulario con los mensajes de error? No veo el "más" en ninguno de los ejemplos.
django
django-forms
usuario984003
fuente
fuente
myForm
es una instancia deforms.Form
oforms.ModelForm
, lea sobre Django FormsUNIQUE constraint failed:
excepción?views.py
Si desea mostrar los errores del formulario que no sean válidos, simplemente ingrese {{form.as_p}} como lo que hice a continuación
page.html
fuente
messages.error(request, "Error")
?fuente
ACTUALIZACIÓN: Se agregó una descripción más detallada de los errores del conjunto de formularios.
Form.errors combina todos los field y non_field_errors. Por lo tanto, puede simplificar el html a esto:
modelo
form_tags.py
Una advertencia: a diferencia de los formularios, Formset.errors no incluye non_field_errors.
fuente
simplemente puede hacer esto porque cuando inicializó el formulario contiene datos del formulario y datos no válidos también:
if generará el error en la plantilla si tiene alguno, pero los datos del formulario permanecerán como:
error_demo_here
fuente
Puede poner simplemente una variable de bandera, en este caso is_successed .
luego en su plantilla puede simplemente poner el código a continuación
fuente