2015-11-08 48 views
0

我正在使用Django 1.8.6。日期时间以UTC格式存储在PostgreSQL数据库中。下面是我的项目范围内的设置:更改Django内部的时区admin

USE_TZ = True 
TIMEZONE = 'UTC' 
USE_L10N = True 

我不知道是否可以让我来显示时间在Django管理中指定的时区? (我是管理员的唯一用户。)谢谢。

+0

你究竟想要什么? 1)某些对象日期时间字段; 2)在管理员侧栏中; ... – madzohan

+0

我希望在admim中以本地时间显示模型的日期时间字段,但以UTC格式存储在数据库中。 – Jonas

回答

0

例如模型

class SomeModel(models.Model): 
    datetime_filed = models.DateTimeField(default=timezone.now) 
  1. 简单的办法是改变settings.TIMEZONE到本地一个(的pytz.all_timezones之一)Django存储datetime_filedtzinfo=<UTC>但在默认情况下,所有模板将本地化...在您的应用程序模板,您可以使用这些模板标签https://docs.djangoproject.com/en/dev/topics/i18n/timezones/#template-tags

之一...

+0

Thx。如果我想在数据库中存储为UTC格式,该怎么办?在这种情况下,我必须将TIMEZONE设置为UTC。 – Jonas

+0

PostgreSQL后端将日期时间存储为带时区的时间戳。实际上,这意味着它将日期时间从连接的时区转换为UTC存储时间,并从UTC转换为检索时的连接时区。 https://docs.djangoproject.com/en/1.8/topics/i18n/timezones/#postgresql – madzohan

+0

因此,这意味着PostgreSQL将时间存储为用户所处时区的时间段,并以秒为单位。这是不管什么设置都一样.TIMEZONE是? settings.TIMEZONE不影响如何在psql中存储时间,它会影响演示文稿? – Jonas