当我使用时区信息发布时间时,例如:2013-02-27T14:00:00-05:00到Django datetime字段会抛出表单错误“输入有效的日期/时间。”。
我的表单字段定义如下
time = forms.DateTimeField()
我还尝试将日期格式传递给表单提交。例如:
DATE_FORMATS = [
'%Y-%m-%dT%H:%M:%S-%z',
]
time = forms.DateTimeField(input_formats=DATE_FORMATS)
Django DateTimeField是否不支持时区信息时间?
答案 0 :(得分:0)
是的! Django DateTimeField支持时区,但是如果您查看文档,则必须将其与表单中的实际DateTime分开指定。具体来说,文档建议您基于每个用户激活时区,否则您将始终以默认时区输入DateTime。
https://docs.djangoproject.com/en/dev/topics/i18n/timezones/#time-zone-aware-input-in-forms
这是我用于项目的文档,效果很好。
此外,如果您需要在表单字段中指定特定时区,则始终可以创建一个包含所有时区的下拉字段,然后使用正确的时区将DateTime保存在视图中。