2015-11-08 47 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