django 设置时区为上海后,显示时间会比数据库的正确时间多8个小时

django设置为中国的时区后:
数据库插入的时间为正确的当前时区的时间,但是显示时多了8个小时,请问怎么处理合适
TIME_ZONE = “USE_TZ”
USER_TZ= True

最佳答案

我弄好了,你那样我是尝试过的,你那样设置的话,时区就不生效了,会默认使用utc的时区,但如果想要符合时区,还是得设置USE_TZ为false,同时时区time_zone设置为"Asia/Shanghai",我之前出现问题的原因是,我的服务器时区设置是时间为北京时间,但时区显示为utc,所以差了时间,所以我最终的解决方案是,把服务器的时区设置为了CST,同时setting里的设置设置为USER_TZ = true,就没问题了

3年前 评论
讨论数量: 2
da_house
TIME_ZONE = 'Asia/Shanghai'

USER_TZ = false

settings.py 中控制时区的字段有两个TIME_ZONE USE_TZ ,
其中USE_TZ设置为True时,django会使用默认时区America/Chicago
此时TIME_ZONE配置任何值都不产生作用。

USE_TZ设置为False时,需要配置TIME_ZONE
配置为None,则也会使用默认时区,
当我们配置为Asia/Shanghai时使用上海时区。

3年前 评论
da_house
TIME_ZONE = 'Asia/Shanghai'

USER_TZ = false

settings.py 中控制时区的字段有两个TIME_ZONE USE_TZ ,
其中USE_TZ设置为True时,django会使用默认时区America/Chicago
此时TIME_ZONE配置任何值都不产生作用。

USE_TZ设置为False时,需要配置TIME_ZONE
配置为None,则也会使用默认时区,
当我们配置为Asia/Shanghai时使用上海时区。

3年前 评论

我弄好了,你那样我是尝试过的,你那样设置的话,时区就不生效了,会默认使用utc的时区,但如果想要符合时区,还是得设置USE_TZ为false,同时时区time_zone设置为"Asia/Shanghai",我之前出现问题的原因是,我的服务器时区设置是时间为北京时间,但时区显示为utc,所以差了时间,所以我最终的解决方案是,把服务器的时区设置为了CST,同时setting里的设置设置为USER_TZ = true,就没问题了

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!