2013-07-18 2 views
6

Djangoのタイムゾーン対応の出力は、明らかにonly applies when rendering a templateです。 CSVまたはJSONを返すレスポンスの現在のアクティブなタイムゾーンに同じ自動変換を適用する方法はありますか?テンプレート以外のDjangoタイムゾーンのサポート

+0

あなたはDjangoの設定を探している右隣にあるソースのように見える別のユーティリティ機能、localtimeは、ありますか?またはいくつかのpython固有のコードですか?おそらく、ピッツを使用してみますか? –

+0

いいえ、ユーザーにCSVまたはJSON応答を送信すると、テンプレートに表示されるのと同じ自動変換動作が得られるようにしています。 – Tom

+0

私はテンプレートの外で自動変換があるとは思わない...それを手動で行う必要があります。 –

答えて

1

テンプレートのdatetimesを変換するために呼び出される基になる関数はdjango.utils.timezone.template_localtime()と思われます。仕事と次ので、おそらく

def localtime(value, timezone=None): 
    """ 
    Converts an aware datetime.datetime to local time. 

    Local time is defined by the current time zone, unless another time zone 
    is specified. 
    """ 
    ... 

from django.utils.timezone import localtime, get_current_timezone 

... 

print localtime(obj.date_created, user.get_profile().timezone or get_current_timezone()) 
+0

ニース、私はある時点でそれを試してみましょう。ありがとう。 – Tom

関連する問題