Ошибка пользовательского поля от try / кроме просмотра Django? - PullRequest
0 голосов
/ 16 июня 2011

У меня есть форма для геокодирования адреса в моем приложении.Если введен неадрес, геокодер вызывает «GQueryError».Используя try / Кроме того, я хотел бы поймать эту ошибку и отправить пользовательскую ошибку обратно в форму, которая будет отображаться в «списке ошибок», как и другие ошибки, и будет соответствующим образом отображаться и стилизоваться.Можно ли это сделать?

1 Ответ

0 голосов
/ 16 июня 2011

Вы должны написать clean_field_name метод и в нем зафиксировать ошибку и поднять ValidationError например

class MyForm(forms.Form):
    ...
    # rest of the form
    ...

    def clean_address(self):
        address = self.cleaned_data['address']
        try:
            address = geo_clean(address)
        except GQueryError,e:
            raise forms.ValidationError("ooops you are so wrong, %s!"%e)

        return address

Читать как очистить определенные поля

...