我有一个表单(2个字段),用户使用jQuery的DatePicker和TimePicker选择/输入日期和时间 . 出来的格式是:
01/05/2011 11:00 PM
表单将不会提交,因此我认为与我在表单类中使用的格式和DateField和TimeField存在冲突 . 这是真的?如果是这样,这些输入需要采用什么格式?
谢谢!
您可以通过查看Django源来阅读这些字段的验证代码 .
查看django / forms / fields.py,阅读DateField和TimeField类上的to_python()方法 .
在我看来,他们都支持许多输入类型:
datetime.datetime对象的实例
datetime.date对象的实例
根据设置DATE_INPUT_FORMATS(或TIME_INPUT_FORMATS)格式化的字符串
我认为最后一个选项就是你想要的 . 检入django / conf / global_settings.py,您可以看到这些设置的默认值,其中包括大量strptime格式字符串 . 这是默认的DATE_INPUT_FORMATS:
'%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06' '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006'
因此,任何这些方式格式化的任何日期字符串都应该有效(假设您的语言环境未设置为古怪的 - 每个语言环境都具有此字段的特定于语言环境的覆盖,您应该检查您正在使用的语言环境的语言环境子目录用) .
TIME_INPUT_FORMATS的逻辑类似,默认情况下是:
'%H:%M:%S', # '14:30:59' '%H:%M', # '14:30'
所以我怀疑这是阻止你的表格工作的原因,因为你的时间是上午/下午 .
您可以在settings.py中手动将TIME_INPUT_FORMATS设置为strptime格式字符串,该字符串将适用于您想要的内容,这可能类似于“%I:%M%p”(请注意,您不能只使用%r,因为它看起来需要几秒钟) . 您可能还希望包含原始值,只是为了与其他事物(如Django管理界面)的可能兼容性 .
我不熟悉jQuery的日期和时间选择器 - 也许你可以配置它们以Django已经支持的格式输出时间?
我只是使用这个设置正常运行
LANGUAGE_CODE = 'fr-FR'
在我的settings.py中并使用jQueryUI的语言文件this page具有jqueryUI语言文件的完整示例
2 回答
您可以通过查看Django源来阅读这些字段的验证代码 .
查看django / forms / fields.py,阅读DateField和TimeField类上的to_python()方法 .
在我看来,他们都支持许多输入类型:
datetime.datetime对象的实例
datetime.date对象的实例
根据设置DATE_INPUT_FORMATS(或TIME_INPUT_FORMATS)格式化的字符串
我认为最后一个选项就是你想要的 . 检入django / conf / global_settings.py,您可以看到这些设置的默认值,其中包括大量strptime格式字符串 . 这是默认的DATE_INPUT_FORMATS:
因此,任何这些方式格式化的任何日期字符串都应该有效(假设您的语言环境未设置为古怪的 - 每个语言环境都具有此字段的特定于语言环境的覆盖,您应该检查您正在使用的语言环境的语言环境子目录用) .
TIME_INPUT_FORMATS的逻辑类似,默认情况下是:
所以我怀疑这是阻止你的表格工作的原因,因为你的时间是上午/下午 .
您可以在settings.py中手动将TIME_INPUT_FORMATS设置为strptime格式字符串,该字符串将适用于您想要的内容,这可能类似于“%I:%M%p”(请注意,您不能只使用%r,因为它看起来需要几秒钟) . 您可能还希望包含原始值,只是为了与其他事物(如Django管理界面)的可能兼容性 .
我不熟悉jQuery的日期和时间选择器 - 也许你可以配置它们以Django已经支持的格式输出时间?
我只是使用这个设置正常运行
在我的settings.py中并使用jQueryUI的语言文件
this page具有jqueryUI语言文件的完整示例