【问题标题】:how to use stored user profile timezone instead of setting timezone in django如何使用存储的用户配置文件时区而不是在 django 中设置时区
【发布时间】:2014-10-18 21:39:30
【问题描述】:

通读 django 文档,似乎强烈建议将用户时区字段存储在用户配置文件中。

如何将这个值用于所有日期而不是设置?

我是否必须为我使用的每个日期都这样做:

user_tz_str = 'America/Los_Angeles'
user_tz = pytz.timezone(user_tz_str)
users_date = user_tz.localize(datetime.datetime(2012, 3, 3, 1, 30))

user_date = some-date.replace(hour=23, minute=59, tzinfo=user_tz_str)

【问题讨论】:

标签: python django date datetime timezone


【解决方案1】:

您可以尝试django-easytz 之类的方法,在该方法中,您使用 Django 中间件实现从会话或 cookie 中获取时区,并将其设置为该请求的时区。

我不是这方面的专家,但我认为这是可能的。也可以在类似的设置中查询用户的时区设置并将其设置为时区设置,这样您就不必使用 cookie/会话方法。

一旦它被设置到 Django 框架中,那么 Django 应该自动处理模板等中的日期。我想。

【讨论】:

  • 对于那些在 2021 年 6 月之后查看此内容的人,django-easytz 已经 8 年没有更新了(!)。
猜你喜欢
  • 1970-01-01
  • 2014-01-27
  • 2015-06-01
  • 2019-09-16
  • 2013-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-09
相关资源
最近更新 更多