django.utils.timezone.now在默认TimeField中返回UTC

时间:2016-10-10 07:25:47

标签: django django-admin

我尝试使用以下代码在django_admin中预填充TimeField:

from django.utils import timezone

time_start = models.TimeField('Heure de debut',max_length=20, default=timezone.now)

我已安装 pytz 并正确设置

TIME_ZONE = 'Europe/Brussels'
USE_TZ = True

并且admin中的“now”按钮正确设置了我点击它的时间。但是,它最初以UTC(在我的情况下实际时间前两小时)显示时间

我错过了什么,有办法解决这个问题吗?我不想使用 auto_now_add = False ,因为我希望以后可以更改此时间...

1 个答案:

答案 0 :(得分:2)

要在settings.py中设置的本地时区获取时间,请使用:

from django.utils import timezone
timezone.localtime(timezone.now())

至于在django模型中的使用,请在https://stackoverflow.com/a/12654998/1340421

中查看此答案