首页  >  问答  >  正文

python - type="datetime-local" 的 input 如何通过 django form.is_valid() 校验

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() 校验,请问如何处理呢?

仅有的幸福仅有的幸福2679 天前922

全部回复(3)我来回复

  • 给我你的怀抱

    给我你的怀抱2017-05-27 17:41:52

    传入的数据是 2017-05-25T23:10,而你的 input_formats=['%m/%d/%YT%H:%M'],也就是说 input_formats 写错了,正确的应该是 input_formats=['%Y-%m-%dT%H:%M']

    回复
    0
  • 为情所困

    为情所困2017-05-27 17:41:52

    你的 form 里定义的格式是 %m/%d/%YT%H:%M 但是你传的却是 2017-05-25T23:10 当然无法通过校验啦,需要修改 form 里的格式定义。

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-27 17:41:52

    按 strftime(format) 方法,你要的input_formats格式应是 %Y-%M-%D/T%H:%M
    关于strftime(format) 方法,见文档8.1.8的第一表格,该格式是从C语言来的,挺通用的。

    回复
    0
  • 取消回复