0

DateTimeField を含むモデルがあります。

class Event(models.Model):
    .....
    date = models.DateTimeField()

そしてこのイベントのモデルフォーム

class EventForm(ModelForm):

    class Meta:
        model= Event

管理者からイベントを作成するとき、イベントを発生させたい時間に時間を設定します。たとえば、19:30 としましょう。しかし、events.date プロパティを呼び出すと、

event.date
datetime.datetime(2013, 11, 20, 17, 30, tzinfo=<UTC>)

のようなテンプレートで使用する場合

{{event.date.hour}}:{{event.date.minute}}

17:30を示しています。

しかし、モデルフォーム内のテンプレートにロードすると

event_form = EventForm(instance=event)

そしてテンプレで

{{event_form.as_p}}

その後、日付は管理ページに追加したものと同じ、つまり 19:30 になります。

この動作を変更するにはどうすればよいですか。django は常に日付を UTC で保存しますか? 私はギリシャにいるので、datetime オブジェクトのマイナス 2 時間 (と思います)。私のアプリがさまざまな国で実行されると仮定すると、プロパティを使用してテンプレートで日付をレンダリングすると、UTC の時刻ではなく実際に保存された時刻が表示されるように、これを自動化できますか。私が理にかなっていることを願っています....

私の設定ファイルには

TIME_ZONE = 'Europe/Athens'
USE_TZ = True
4

1 に答える 1