Django表单:将forms.CharField的值获取为日期
我有一个表单,里面有一个输入框,用来填写欧洲格式的日期。
我需要把这个日期转换成Python可以识别的日期对象。
有没有办法让表单在验证的时候自己处理这个转换呢?比如说用什么回调函数?
我不想在处理表单的视图里去做这个转换。
2 个回答
1
那为什么不直接用 DateField 呢?
2
这就是 clean_FOO
这个钩子的作用,它用来填充 cleaned_data
这个字典。
class MyFrom(..):
field = forms....
def clean_field(self):
data = self.cleaned_data.get('field')
try:
return datetime.datetime.strptime(data)
except Exception:
raise forms.ValidationError("That ain't no time!")