どのようにジャンゴにdd / mm / yyyyのためにデフォルトの日付書式AAAA-MM-DDを変更するには?

StackOverflow https://stackoverflow.com/questions/1677035

  •  16-09-2019
  •  | 
  •  

質問

私のロケールDATEFORMATはDD / MM / YYYYで、DjangoはAAAA-MM-DD

をrequeringされます

際にユーザの入力2009年4月11日Djangoが上昇します:

_('Enter a valid date in YYYY-MM-DD format.')) 

イム

forms.DateFieldない、単純なHTML入力フィールドタイプ= "テキスト" を使用して

ありがとう:)

役に立ちましたか?

解決

私はあなたがforms.DateFieldを使用していると仮定しています。もしそうなら、あなたはそのようinput_formats引数を指定する必要があります:

class MyForm(forms.Form):
    start_date = forms.DateField(input_formats=['%d/%m/%Y'])

input_formatsはちょうどあなたが受け入れるようにしたいフォーマットのリストを受け取ります。

http://docs.djangoproject.com/en/を参照してください。 DEV詳細については、/ REF /フォーム/フィールド/#の日付フィールドでます。

他のヒント

あなたがそれを行うことになるでしょうけれども、もっとここだけの日付フィールドのためinput_formatsを使用するよりもそこにあるように、

OPの記事やコメントに基づいて、それが見えます。メッセージ「YYYY-MM-DD形式で有効な日付を入力してください」を例外との のNOTフォームの検証エラーです。あなたは「YYYY-MM-DD」ではありません日付文字列を使用してモデルインスタンスを保存しようとすると、この例外を取得します。

必要なものは、DateTimeオブジェクトである、フォームでのDateFieldを使用して、きれいにデータを使用してモデルをインスタンス化することです。 OPはDateTimeオブジェクトではなく、文字列を使用してモデルをインスタンス化していたように見えます。

Djangoのドキュメントのこのセクションでは、DateFieldのデータを準備について説明します。 ます。https:// docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs#what-happens-when-you-saveする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top