我正在使用一个简单的论坛开发本地化的Django应用程序。有些帖子的时间戳显示为好像是在7小时之前发布的。奇怪的是,它发生在一些用户身上,有时候(用户可能会发布一次而且没关系,再次发帖,这是错误的。)
settings.py:
TIME_ZONE = 'Europe/Prague'
LANGUAGES = ( ('cs-cz', _('Czech')), )
DATABASE_ENGINE = 'sqlite3'
模型:
class Post(models.Model):
created = models.DateTimeField(auto_now_add=True)
使用mod_wsgi在Apache上运行。
答案 0 :(得分:6)
如您引用的其他文章所述,请参阅:
http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Timezone%5Fand%5FLocale%5FSettings
问题是当您在同一服务器进程中运行多个需要不同时区设置的应用程序时。这是因为TZ是一个全球流程环境。哪个应用程序最后设置它将优先于所有其他应用程序。
使用mod_wsgi的守护进程模式并运行任何需要不同时区设置的Python Web应用程序到其自己的守护程序进程组中的其他应用程序。这样他们就不会互相干扰。