forms.py:
select_time = forms.DateTimeField(
label='时间',
input_formats=['%m/%d/%YT%H:%M'],
widget=forms.DateTimeInput(attrs={
'class': 'weui-input',
'type': 'datetime-local',
'emptyTips': '请选择时间'
})
)
上面这个表单,传递的时间格式是 2017-05-25T23:10
,无法通过 form.is_valid()
校验,请问如何处理呢?
传入的数据是
2017-05-25T23:10
,而你的input_formats=['%m/%d/%YT%H:%M']
,也就是说input_formats
写错了,正确的应该是input_formats=['%Y-%m-%dT%H:%M']
。你的 form 里定义的格式是
%m/%d/%YT%H:%M
但是你传的却是2017-05-25T23:10
当然无法通过校验啦,需要修改 form 里的格式定义。按 strftime(format) 方法,你要的input_formats格式应是
%Y-%M-%D/T%H:%M
关于strftime(format) 方法,见文档8.1.8的第一表格,该格式是从C语言来的,挺通用的。