In una funzione di visualizzazione, ho qualcosa di simile:In Django, come posso ottenere il messaggio di un'eccezione?
try:
url = request.POST.get('u', '')
if len(url) == 0:
raise ValidationError('Empty URL')
except ValidationError, err:
print err
L'uscita è una stringa: [u'Empty URL']
Quando provo a passare il messaggio di errore per il mio modello (farcite in un dizionario, qualcosa come { 'error_message': err.value }
), il modello ottiene correttamente il messaggio (utilizzando {{ error_message }}
).
Il problema è che ottengo la stessa stringa come sopra, [u'Empty URL']
, con lo [u'...']
!
Come faccio a sbarazzarmene?
(Python 2.6.5, Django 1.2.4, Xubuntu 10,04)
Ho pensato che, come validatori per un campo è anche un array. Buono a sapersi sul membro 'messages' di' ValidationError'. Non lo menzionano mai qui: https://docs.djangoproject.com/en/dev/ref/forms/validation/ come dovrebbero soprattutto! –