如何在 django 中自定义数据库连接设置的时区?
Posted
技术标签:
【中文标题】如何在 django 中自定义数据库连接设置的时区?【英文标题】:How to customize database connection settings' timezone in django? 【发布时间】:2018-08-21 21:57:59 【问题描述】:我正在研究 django db 后端。我发现 django 来回更改日期时间值的时区,同时将日期保存到数据库中并检索它们。在此转换过程中,django 使用数据库连接的时区设置。
我已经看到默认情况下,对于 sqlite db,'UTC'
是时区。我想在 django 应用程序启动期间更改数据库连接选项。我该怎么做?
提前致谢。
【问题讨论】:
【参考方案1】:来自官方 Django 文档:
启用时区支持后,Django 以 UTC 格式将日期时间信息存储在数据库中,在内部使用时区感知日期时间对象,并在模板和表单中将它们转换为最终用户的时区。
默认情况下禁用时区支持。
因为如果默认禁用时区支持,您需要手动指定您希望 Django 支持它。您可以在settings.py
中这样做:例如,如果您想要 UTC +1,则使用:
# enable time zone support
USE_TZ = True
# select a timezone
TIME_ZONE = 'Europe/Rome'
引用来自官方 Django 文档,您可以访问 here。我强烈建议您阅读一下,他们的文档非常清晰/有用。
另外,如果您需要其他时区,这里列出了您可以使用的所有可用时区here,这是我从this post 找到的。
【讨论】:
以上是关于如何在 django 中自定义数据库连接设置的时区?的主要内容,如果未能解决你的问题,请参考以下文章