【问题标题】:how do I make my site timezone aware?如何让我的网站时区知道?
【发布时间】:2013-07-15 11:38:31
【问题描述】:

我有一个使用

的应用程序
import datetime

datetime.datetime.now()
default=datetime.now
auto_now=True
auto_now_add=True

我将上面的代码更改为下面的代码。

from django.utils import timezone

timezone.now() # instead of datetime.datetime.now()
default=timezone.now # instead of datetime.now
auto_now # override save() or pre_save() .. ok don't need this change in recent django.
auto_now_add # override post_save() to set time when `created`.. don't need this change either

我是否遗漏了什么或做了一些多余的事情?

我正在使用一个开源应用程序,它使用了很多 datetime.datetime ..
改变这一切真的很痛苦。希望有更简单的方法。

【问题讨论】:

  • 我检查了 django 1.4.5 源代码,auto_now 和 auto_now_add 使用 timezone.now() 而不是 datetime.now()

标签: django timezone


【解决方案1】:

在您的设置文件中,您必须设置USE_TZ = True。来自docs

默认情况下禁用时区支持。要启用它,请设置 USE_TZ = 在您的设置文件中为真

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多