Estoy usando Django 1.10 y estoy tratando de encontrar una manera de verificar el código de error de un formulario dentro de la plantilla. Así que probé algunas cosas, como errores.as_data o errores.as_json, pero no pude analizar los diferentes valores (excepto usando javascript). ¿Podría ser algo como esto?
<p>{% for key, value in form.errors.items %} {{ value }} {% if code == 'inactive_account'%} // do some stuff {% endif %} {% endfor %} </p>Pero no sé cómo obtener este código de error. Cualquier sugerencia ?
PD: sé que una solución sería hacerlo dentro de la vista, pero dado que estoy usando un django ya hecho, preferiría no hacerlo.
El diccionario form.errors no contiene las instancias de ValidationError . Necesitas usar el método as_data .
Tenga en cuenta que debe recorrer la lista de errores para cada tecla y luego puede verificar el código.
{% for key, key_errors in form.errors.as_data.items %} {{ key }} {% for error in key_errors %} {% if error.code == 'inactive_account'%} // do some stuff {% endif %} {% endfor %} {% endfor %}