2016-06-29 16 views
0

言語に応じて日付をフォーマットする方法がDjangoテンプレートシステムにあるのだろうかと思います。言語に応じて日付フォーマットを変更してください

私のサイトが英語である場合、このコード{{ submitted_date | date }}は次のように表示されますように:2016年6月29日

しかし、サイトがフランス語で表示されている場合、同じコードは、この形式が表示されます:27 JUIN 2016

これを行うにはDjangoに指示する方法はありますか、if文でハードコーディングする必要がありますか? (しかし、私は多くの言語を?!得た場合)

答えて

2

date formattingのロケールのドキュメントで非常に最初の文は

Djangoの書式設定システムは、フォーマットを使用して、テンプレートに日付、時間と数字を表示することが可能であると言います現在のロケールに指定されています。また、ローカライズされた入力をフォームで処理します。

何もする必要はないため、デフォルトでは現在のロケールに日付がローカライズされています。

+0

実際、月のように日付の言語を変更しますが、形式は変更されません。フランス語では、月は日付の後で、年の前にカンマがないと仮定します。私はそれを強制する方法はありますか? – Emmurd

+1

私はこれが私の選択だと思う。 https://docs.djangoproject.com/en/1.9/topics/i18n/formatting/#creating-custom-format-files – Emmurd

+0

このファイルを見ると、https://github.com/django/django/blob/master /django/conf/locale/fr/formats.py形式が良いです。おそらくロケールの切り替えに奇妙なことがありますか? – Emmurd

0

私が知らない理由から、デフォルトでdjangoはデフォルトファイルによって設定されたフォーマット設定を使用しません。例えば当たり

は:https://github.com/django/django/blob/master/django/conf/locale/fr/formats.py

所望の形式の名前を追加することにより、テンプレートは、ロケールの良い形式を表示します。 {{ submitted_date | date:"DATE_FORMAT" }}

私をトラックに乗せてくれてありがとう!

関連する問題