1

テンプレートでUTC時間を現地時間に変換しようとしていますが、何らかの理由で次のようにしています。

{% load tz %}

{% localtime on %}
{{ value }}
{% endlocaltime %}

まだUTCの値を私に与えます

でも

{{ value|localtime }} 

ローカルタイムゾーン設定を使用して値を取得します

settings.pyのUSE_TZをTrueに設定しても何も起こらないようです

私が間違っていることは何ですか?

4

2 に答える 2

0

これらすべてを処理するためのシンプルなミドルウェアを作成しました。

https://github.com/Miserlou/django-easy-timezones

インストールして指示に従うだけで完了です。

  1. django-easy-timezones をインストールする

    pip install django-easy-timezones pytz pygeoip

  2. 次のように、INSTALLED_APPS 設定に「easy-timezones」を追加します。

    INSTALLED_APPS = ( ... 'easy-timezones', )

  3. EasyTimezoneMiddleware を MIDDLEWARE_CLASSES に追加します

    MIDDLEWARE_CLASSES = ( ... 'easy-timezones.middleware.EasyTimezoneMiddleware', )

  4. 設定ファイルにMaxMind GeoIP データベースへのパスを追加します。

    GEOIP_DATABASE = '/path/to/your/geoip/database/GeoIP.dat'

  5. テンプレートで localtime を有効にします。

    {% load tz %} The UTC time is {{ object.date }} {% localtime on %} The local time is {{ object.date }} {% endlocaltime %}

  6. 多田!

于 2013-07-17T06:33:18.920 に答える
0

表示しようとしている{{ value }}日付/時刻オブジェクトは、単純な datetime オブジェクトです。単純な日時オブジェクトはテンプレート タグでは変換されません - 最初の例ですが、テンプレート フィルターでは変換されます - 2 番目の例です。

ここで最初の警告を参照してください

「ナイーブ」は、日時オブジェクトの作成方法に関係しています。日付/時刻オブジェクトを時間を意識して変更する方法 - テンプレートタグで使用できるようにする方法 -このスレッドをチェックしてください

于 2013-01-22T22:28:37.170 に答える