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

标签 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

如果我点击管理中的“现在”按钮,它会正确设置时间。但是,它最初显示 UTC 时间(在我的例子中比实际时间早两个小时)

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

最佳答案

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

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

至于在 django 模型中的使用,请参阅此处的答案 https://stackoverflow.com/a/12654998/1340421

关于django.utils.timezone.now 在默认 TimeField 中返回 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39953166/

相关文章:

Python - 登录后Django站点管理页面为空

python - 将按钮添加到 Django 管理索引页面

python - Django 管理站点change_list View 定制

html - Font-Awesome CSS 文件不工作,但 Font-Awesome CDN 工作。为什么?

python - Django admin 很难定制吗?

Django 查询集操作

python - 是否可以在不在 URL 中使用语言代码的情况下拥有多语言 django CMS 站点?

python - ImportError : Could not import settings (Is it on > sys. 路径?设置文件中是否存在导入错误?)在 AWS Elastic Beanstalk 上

django - 允许用户的外键为空。 Django

mysql - Django——错误表不存在,但它不应该存在