En una función de vista, tengo algo como:En Django, ¿cómo puedo obtener un mensaje de excepción?
try:
url = request.POST.get('u', '')
if len(url) == 0:
raise ValidationError('Empty URL')
except ValidationError, err:
print err
La salida es una cadena: [u'Empty URL']
Cuando trato de pasar el mensaje de error a mi plantilla (de peluche en un diccionario, algo así como { 'error_message': err.value }
), la plantilla obtiene el mensaje correctamente (usando {{ error_message }}
).
¡El problema es que obtengo exactamente la misma cadena que la anterior, [u'Empty URL']
, con [u'...']
!
¿Cómo me deshago de eso?
(Python 2.6.5, Django 1.2.4, Xubuntu 10,04)
Pensé que, como validadores para un campo también es una matriz. Es bueno saber sobre el miembro 'messages' de' ValidationError'. Nunca lo mencionan aquí: https://docs.djangoproject.com/en/dev/ref/forms/validation/ ¡como deberían hacerlo principalmente! –