我有一個窗體(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