我正在开发一个基于事件信息的 Django 应用程序。我的客户正在以 UTC 格式发送所有日期/时间信息并转换为本地时间。然后将它们作为字符串发送到服务器。此外,我使用 Postgres 作为数据库,它也以 UTC 存储信息。
时区支持处于活动状态,但我将天真的日期时间放入 Django 并收到警告。我的应用程序是否需要时区支持?
如果是这样,我该如何解决这些警告?
USE_TZ = True # to activate time zone setting.
TIME_ZONE = 'America/Chicago' # set your timezone
当您激活时区设置时,DJango 会在您每次在 cod 中设置Naive日期时间时显示警告。没什么好恐慌的。您需要更改代码以逐步使用Aware日期时间。
https://docs.djangoproject.com/en/dev/topics/i18n/timezones/#concepts
from django.utils.timezone import utc, now
class SomeModel(Model):
schedule = django_models.DateTimeField(default=now)
我强烈建议您使用pytz 模块。它使使用时区变得不那么痛苦。