そして、国際化とタイムゾーンが終わって、やっともっと面白い機能に移れると思ったちょうどその時、最後にもう一度噛まれました。:)
私のテンプレート内では、次のものがある限り、テンプレートは日時を UTC から現在選択されているタイムゾーンに自動的に変換します。また、別のカルチャ (米国から英国への形式) に切り替えることもでき、それに応じて日付と時刻の形式が変更されます。単に完璧です。
{% load l10n %}
{% for item in calls %}
<td>{{ item.conversation_datetime }}</td>
<td>{{ item.conversation_datetime }}</td>
{% endfor %}
あとは、前者のローカライズされた日付と後者のローカライズされた時間を抽出するだけです。そこで、そこにテンプレート タグを付けてみましょう。
{% load l10n %}
{% for item in calls %}
<td>{{ item.conversation_datetime|date }}</td>
<td>{{ item.conversation_datetime|time }}</td>
{% endfor %}
でも、もし人生がよかったなら、私はここに座ってこれを書いたりしないでしょうか? ;) これらのフィルターが設定された時点で、これら 2 つのフィールドの形式は米国の文化に固定されているようです。日付の形式は mm/dd/yyyy で、時刻は午前 12 時です。
以前に成功したように英国語を選択しても、もはや何の効果もありません。
実際のところ、formats.py をオーバーライドしen
てen-gb
、en/format.py にTIME_FORMAT = 'P'
午前 12 時/午後 12 時に対応するエントリがあることを確認できます。
en_GB/formats.py には、TIME_FORMAT = 'G:i'
24 時間に対応する があります。テンプレートでフィルター タグを使用することについて、私が見落としている別の点があると思いますか?