2009-09-25 6 views
3

Je travaille sur une application Django localisée avec un forum simple. Les horodatages de certains messages s'affichent comme s'ils avaient été affichés 7 heures plus tôt. Ce qui est bizarre, c'est que cela arrive à certains utilisateurs, parfois (un utilisateur peut poster une fois et c'est OK, les messages à nouveau et c'est faux).Django timezone mess

settings.py:

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

:

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

Fonctionnant sur Apache avec mod_wsgi.

+0

Trouvé quelque chose qui peut être lié à cela mais je ne comprends pas pourquoi le paramètre TIME_ZONE n'est pas toujours prioritaire: http://serverfault.com/questions/26248/what-could-cause-apaches-time- timezone-to-change-intermittent –

Répondre

6

Comme il est mentionné dans d'autres post que vous citez, voir:

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

La question est quand vous avez plusieurs applications en cours d'exécution dans le même processus de serveur qui veulent différents paramètres de fuseau horaire. C'est parce que TZ est un environnement de processus global. Quelle que soit l'application qui a été utilisée pour la définir en dernier, elle aura préséance sur toutes les autres.

Utilisez le mode démon de mod_wsgi et exécutez toutes les applications Web Python qui requièrent des paramètres de fuseau horaire différents pour les autres applications de leur propre groupe de processus démon. De cette façon, ils ne vont pas interférer les uns avec les autres.