【问题标题】:Django - Creating a new user with his timezone being known?Django - 创建一个知道他的时区的新用户?
【发布时间】:2015-03-04 04:25:41
【问题描述】:

使用 Django 1.4

我有一个项目需要显示不同的时间和日期,简化事情的一种方法是我为用户提供了一个选项,可以在他们的个人资料中设置他们的时区。似乎这还不够好,所以我想知道在注册时自动设置用户时区的最佳方法是什么(假设有某种方法可以从浏览器或 django 的时区包中获取它)。

目前我在创建用户时默认为“UTC”,但我认为有更好的方法。

【问题讨论】:

标签: python django datetime


【解决方案1】:

我最近用过这个:

https://github.com/Miserlou/django-easy-timezones

它使用一个 IP 地址表来确定您所在的时区,并使其成为每个请求的当前时区。您甚至不必询问用户。

【讨论】:

  • 我打算使用它,但在我看来(我可能错了)你添加的每个中间件都会通过添加更多的膨胀来稍微减慢整个程序
  • @ark 是的,它增加了一点开销,但据我所知,它将 ip 表加载到内存中,因此不涉及磁盘。而且中间件类本身并不算大。整个文件有 50 行,包括导入和空行。老实说,增加的臃肿非常值得不必担心时区。想象一下,如果您将 tz 与用户一起存储在数据库中,并且他在出差时登录了他的帐户。他仍将在他的家乡 tz,而在不同的城市/国家。有了这个,你甚至不用担心,因为他的IP地址将决定他当前的tz
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-24
  • 1970-01-01
相关资源
最近更新 更多