我正在使用一个具有帖子(类似便签)对象的应用程序。这是帖子模型。
class Post(models.Model):
author = models.ForeignKey(Account)
content = models.CharField(max_length=40)
start_time = models.DateTimeField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __unicode__(self):
return '{0}'.format(self.content)
当我创建具有特定开始时间的帖子时,假设是下午 3 点,那么我相应地在调试控制台中得到 Fri Feb 20 2015 15:00:00 GMT-0500。但在数据库中,它被保存为 20:00:00。当我在屏幕上显示帖子时,显示的是数据库时间 20:00:00。
在 settings.py 中,我改变了:
TIME_ZONE = None
USE_I18N = True
USE_L10N = True
USE_TZ = False
但是问题依然存在,我不知道如何解决。
请您参考如下方法:
Django 在数据库中将日期存储为 UTC,因此时间 20:00 是正确的。如果您希望所有日期都显示为 GMT-0500 时区,您应该设置 TIME_ZONE 设置和 USE_TZ = True...否则当前 Django不知道您想要什么时区,您可以自行规范化任何日期,例如在 View 代码中。
