当前位置: 首页 > 面试题库 >

django 1.4如何自动从客户端获取用户的时区

陶胤
2023-03-14
问题内容

我想知道是否有一种方法可以从客户端自动检索用户的时区。特别是在登录期间。

我尝试将其添加到登录页面中(使用auth.login):

{% get_current_timezone as TIME_ZONE %}

然后将其添加到登录表单中

<input type="hidden" name="next" value="/redirect/?tz={{ TIME_ZONE }}">

tz始终是服务器的时区。


问题答案:

从文档中:

选择当前时区

当前时区相当于当前翻译的语言环境。但是,没有等效的Django可用来自动确定用户时区的Accept-Language
HTTP标头。相反,Django提供了时区选择功能。使用它们来构建对您有意义的时区选择逻辑。

您可以尝试利用getTimezoneOffset函数通过javascript设置时区cookie,或者尝试做一些geoip魔术并按位置计算时区。可能最可靠的方法是直接询问用户并将此信息保存在用户个人资料/会话中。



 类似资料:
  • 问题内容: 是否有从客户端浏览器获取时区的可靠方法?我看到了以下链接,但我想要一个更强大的解决方案。 使用JavaScript自动检测时区 JavaScript中的时区检测 问题答案: 查看此存储库pageloom很有帮助 下载jstz.min.js并将功能添加到您的html页面 然后从您的显示代码调用此函数

  • 我正在使用PHP Google API客户端库使用OAuth2从Google帐户检索用户信息。然而,尽管谷歌的文档中指出,我似乎无法访问用户的国家或时区信息,即使令牌成功返回,并且所有其他信息都可以从范围中获得。 我在这里使用了int heir库提供的示例代码,如果我在该文件的第49行上var_dump($user),我将获得以下输出(出于隐私考虑进行编辑): 正如您所见,没有可用的时区或国家信息

  • 问题内容: 我需要知道客户的IP地址,这是我的鳕鱼 处理程序: 结果: 为什么我无法获得真正的客户IP? 问题答案: 通常,您可以用来获取正在访问Web应用程序的客户端的IP地址。但是,如果用户位于代理服务器后面或通过负载均衡器访问您的Web服务器(例如,在云托管中),则上述代码段将获取代理服务器或负载均衡器服务器的IP地址,而不是原始IP地址客户。 因此,您应该获得请求的HTTP标头“ X-Fo

  • 使用paypal的开发者帐户,我可以通过创建一个应用程序获得客户端ID和密钥,但不是使用live帐户。 我正在使用REST API在我的网站上进行交易,我要求用户(谁有贝宝帐户)输入他们的客户ID和秘密密钥,并使用这个信息将钱转入他们的帐户,付款是通过信用卡完成的。它在开发人员帐户上运行良好,但是从live帐户上获取客户端ID和密钥的选项在哪里呢? 或者有没有其他的方式我可以做到这一点,我想把钱转

  • 我是Vert.x的新手,对Kafka来说相对较新。 如何设置我的Vert.x KafkaProducer来导出Prometheus指标? 目前,我可以启用Prometheus度量,如<code>vertx_http_server_request_bytes_max</code>并通过Web服务器查看它们: 在使用Vert. x之前,我可以使用Apache KafkaProducer并绑定Kafka

  • 我有Spring座后端和角前端。 身份验证是使用请求JSON正文中带有用户名和密码的“/登录”URL的POST请求来执行的(我使用基于表单的身份验证)。REST后端回复OK代码。一切都很好,我可以执行来自前端的其他需要身份验证的请求。 但是前端需要知道身份验证用户的角色是什么,以便它可以显示正确的视图/记录。我们从哪里可以在前端得到这个角色?我们从身份验证中得到的唯一响应是OK,这对于REST来说