Django 1.4-尽管设置了时区,但管理员仍以UTC显示时间

时间:2018-08-03 14:47:38

标签: django django-timezone

我正在开发具有以下模型的Django(1.4 ...)应用程序:

class FailedLogin(models.Model):
    user = models.ForeignKey(User, related_name='failed_logins')
    date = models.DateTimeField(default=timezone.now)

    def __unicode__(self):
        return u"Failed Login for {} on {}".format(
            self.user,
            self.date.strftime("%Y-%m-%d %H:%M:%S %Z"),
        )

您会看到使用timezone.now()设置了DatetimeField 我们的settings.py已设置为使用时区:

TIME_ZONE = 'Europe/Amsterdam'
LANGUAGE_CODE = 'nl_NL'
USE_I18N = True
USE_L10N = True
USE_TZ = True

当我进入Admin中的对象detailview时,可以看到值设置正确,但是当我在Admin中查看对象时,它们的__unicode__方法返回的是UTC时间。

例如:

对象A已设置为17:15。在管理中访问对象(详细信息)时,我可以看到该值已正确保存。但是,当我在管理员中查看它时,__unicode__返回以下内容:

Failed Login for Karl on 2018-08-03 15:15:00 UTC

有人知道我想念什么吗?

0 个答案:

没有答案