ユーザーがjQueryのDatePicker&TimePickerを使用して日付と時刻を選択/入力するフォーム(2つのフィールド)があります。出てくるフォーマットは次のとおりです。
01/05/2011
11:00 PM
フォームは送信されないため、これらの形式と、フォームクラスで使用しているDateFieldおよびTimeFieldとの競合があると思います。これは本当ですか?もしそうなら、これらの入力はどのような形式である必要がありますか?
ありがとう!
ユーザーがjQueryのDatePicker&TimePickerを使用して日付と時刻を選択/入力するフォーム(2つのフィールド)があります。出てくるフォーマットは次のとおりです。
01/05/2011
11:00 PM
フォームは送信されないため、これらの形式と、フォームクラスで使用しているDateFieldおよびTimeFieldとの競合があると思います。これは本当ですか?もしそうなら、これらの入力はどのような形式である必要がありますか?
ありがとう!
Djangoのソースを見ると、これらのフィールドの検証コードを読むことができます。
django / forms / fields.pyを見て、DateFieldクラスとTimeFieldクラスのto_python()メソッドを読んでください。
どちらも多くの入力タイプをサポートしているように見えます。
最後の選択肢はあなたが望むものだと思います。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の言語ファイルを使用している場合、
このページにはjqueryUI言語ファイルの完全な例があります。