5

Djangoのチュートリアルに、以下のような記述がある。

TIME_ZONE

...

USE_TZ が False の場合、これは Django がすべての日時を保存するタイム ゾーンです。USE_TZ が True の場合、これは Django がテンプレートに日時を表示し、フォームに入力された日時を解釈するために使用するデフォルトのタイム ゾーンです。

...

django rest フレームワークがリクエストからナイーブな日時データを取得するとき。次に、Djangoはこの素朴な日時を解釈して、TIME_ZONE設定のローカル日時を認識しますか? それが正しければ、それはどのように機能しますか?

前もって感謝します!

4

2 に答える 2

3

次に、Djangoはこの素朴な日時を解釈して、TIME_ZONE設定のローカル日時を認識しますか?

テンプレート/フォームは Django restframework ビューでは使用されないため、Django は日時を変換しません。

Django REST フレームワークでは、通常の Django と同様に、タイムゾーン設定を設定USE_TZTIME_ZONEて有効にする必要があります。そうしないと、変換が行われません。

ただし、v3.8.0 (2018 年 5 月にリリース) まで、Django REST Framework はレンダリング段階 (モデル -> json) ではなく、解析段階 (json -> モデル) でのみタイムゾーンを変換します。それは多くの人々を混乱させました。

于 2018-10-16T08:33:17.927 に答える