2009-09-25 31 views
3

我正在使用一個簡單的論壇進行本地化的Django應用程序。有些帖子的時間戳顯示爲7小時前發佈。奇怪的是,它發生在某些用戶身上,有時(用戶可能發佈一次,沒關係,再次發佈,這是錯誤的)。Django時區爛攤子

settings.py:

TIME_ZONE = 'Europe/Prague' 
LANGUAGES = (('cs-cz', _('Czech')),) 
DATABASE_ENGINE = 'sqlite3' 

型號:

class Post(models.Model): 
    created = models.DateTimeField(auto_now_add=True) 

運行在Apache與mod_wsgi的。

+0

發現了一些可能與此有關的東西,但我不明白爲什麼TIME_ZONE設置並不總是優先:http://serverfault.com/questions/26248/what-c​​ould-cause-apaches-time-時區到變化間歇 – 2009-09-25 13:05:57

回答

6

正如你引用的其他職務參考,請參閱:

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Timezone%5Fand%5FLocale%5FSettings

的問題是,當你在同一個服務器進程中運行多個應用,這需要不同的時區設置。這是因爲TZ是一個全球性的流程環境。哪個應用程序最後設置它將優先於所有其他應用程序。

使用mod_wsgi的守護進程模式,並將任何需要不同時區設置的Python Web應用程序運行到其守護進程組中的其他應用程序。這樣他們就不會互相干擾。