Django视图中try/except的自定义字段错误?
我在我的应用里有一个用来把地址转成地理坐标的表单。如果输入的内容不是一个地址,地理编码器就会报一个叫“GQueryError”的错误。我想用try/except来捕捉这个错误,然后给表单返回一个自定义的错误信息,这样它就能像其他错误一样显示在“错误列表”里,并且样式也能正确显示。这样做可以吗?
1 个回答
0
你应该写一个叫做 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
可以看看 如何清理特定字段