您的位置:首页技术文章
文章详情页

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

【字号: 日期:2022-06-30 08:07:29浏览:54作者:猪猪

问题描述

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

问题解答

回答1:

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

回答2:

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

回答3:

按 strftime(format) 方法,你要的input_formats格式應是 %Y-%M-%D/T%H:%M關於strftime(format) 方法,見文檔8.1.8的第一表格,該格式是從C語言來的,挺通用的。

标签: Python 编程
相关文章: