我有一个窗体(2字段),用户选择/输入日期&使用jQuery的DatePicker的时间& TimePicker。该格式的说出来是:使用jQuery DateField&TimeField格式DatePicker&TimePicker
01/05/2011
11:00 PM
形式将不提交的,所以我觉得有这些格式的,我用我的窗体类的DateField & TimeField冲突。这是真的?如果是这样,这些输入需要什么格式?
谢谢!
我有一个窗体(2字段),用户选择/输入日期&使用jQuery的DatePicker的时间& TimePicker。该格式的说出来是:使用jQuery DateField&TimeField格式DatePicker&TimePicker
01/05/2011
11:00 PM
形式将不提交的,所以我觉得有这些格式的,我用我的窗体类的DateField & TimeField冲突。这是真的?如果是这样,这些输入需要什么格式?
谢谢!
您可以通过查看Django的源读取这些字段的验证代码。在Django /形式/ fields.py
寻找,读取to_python()上的DateField和TimeField类的方法。
它看起来对我来说,他们都支持多个输入类型:根据
我认为最后的选择是你想要的。检查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'
所以我怀疑这是什么原因导致您的形式从工作,因为你的时间具有AM/PM。
你可以在你的settings.py中手动设置TIME_INPUT_FORMATS为一个strptime格式的字符串,它可以用于你想要的,这可能类似于“%I:%M%p”(请注意,你不能使用%r因为它看起来像需要秒)。您可能还想包括原始值,只是为了与其他事物(如Django管理界面)可能的兼容性。
我不熟悉jQuery日期&时间选择器 - 也许你可以配置它们以Django支持的格式输出时间?
你使用jQuery UI的日期选择器或其他一些日期选择器插件一个jQueryUI的语言文件的完整的例子吗? – 2011-01-13 05:54:54
你使用哪个TimePicker插件来使用jQueryUI?它似乎没有默认出现,并有几个选项。 – slacy 2011-01-13 05:55:29