You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django DateTimePicker报错:Enter a valid date/time问题求助

解决Django中datetime-local控件提交DateTimeField的验证错误

出现Enter a valid date/time错误的核心原因是:datetime-local输入控件提交的日期时间格式,和Django表单默认期望的解析格式不匹配,导致验证失败。

直接解决方案:指定控件格式匹配

修改你的DateTimePickerInput类,明确指定与datetime-local控件输出一致的格式:

class DateTimePickerInput(forms.DateTimeInput):
    input_type = 'datetime-local'
    # 匹配datetime-local控件输出的标准格式:YYYY-MM-DDTHH:MM
    format = '%Y-%m-%dT%H:%M'

也可以直接在表单的widget配置中指定format参数:

widgets = {
    'start_datetime': DateTimePickerInput(format='%Y-%m-%dT%H:%M'),
    'end_time': TimePickerInput(),
}

额外排查点

  • 时区兼容:如果项目开启了USE_TZ = True,可在控件中添加localize=True参数,辅助Django处理本地时间到UTC的转换:
    class DateTimePickerInput(forms.DateTimeInput):
        input_type = 'datetime-local'
        format = '%Y-%m-%dT%H:%M'
        localize = True
    
  • 输入合法性检查:确认用户输入的日期时间无逻辑错误(如结束时间早于开始时间、年份格式不完整等),极端异常输入也可能触发验证失败。

内容的提问来源于stack exchange,提问作者Claire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 11:21:07