私のアプリ内では、通常の日時オブジェクトを使用しています。私のテンプレートでは:
{% load tz %}
{{datetimeobject|timezone:"Europe/Paris"}}
{% timezone "Europe/Paris" %}
{{datetimeobject}}
{% endtimezone %}
これは次のようなものを出力します:
Dec. 5, 2012, 4 p.m.
Dec. 5, 2012, 3 p.m.
したがって、タイムゾーン フィルタは日付を調整しますが、タイムゾーン タグは調整しません。
何故ですか?また、タグを適切に使用するにはどうすればよいですか? 私の目標は、テンプレートに印刷されたすべての datetimeobject にフィルターを追加せずに、テンプレート全体のすべての datetimeobjects を調整することです。
編集
私はdateobjectsにタイムゾーンを認識させようとしました:
offset = timezone('Europe/London')
datetimeobj.replace(tzinfo=offset)
しかし、それは役に立ちませんでした-以前のコードのままですが、tzを認識したdatetimeobjectは次のとおりです。
Dec. 5, 2012, 4 p.m.
Dec. 5, 2012, 3 p.m.
解決: 上記のコードに間違いがありました - 次のようになります:
offset = timezone('Europe/London')
datetimeobj = datetimeobj.replace(tzinfo=offset)