gpt4 book ai didi

python - Django 。显示正确的时间 - 取决于时区

转载 作者:行者123 更新时间:2023-11-28 17:40:39 24 4
gpt4 key购买 nike

根据用户时区显示时间的最佳方式是什么?

我有一个 Post 对象:

class Post(models.Model):
submit_date = models.DateTimeField(auto_now_add=True)
...

在模板中我有这样的东西:

{% load tz %}
<p> TIME: {{ post_object.submit_date|localtime }} </p>

在 settings.py 中:

USE_TZ = True
USE_L10N = True
TIME_ZONE = 'UTC'

可能我遗漏了一些明显的东西,我想要的只是根据时区显示用户时间的模板。我应该对 views.py 文件做一些逻辑吗?

最佳答案

这取决于 django 版本和用户时区。如果您将用户时区存储在用户的个人资料或其他地方,您可以使用 timezone模板标签:

{% timezone "Europe/Paris" %}
Paris time: {{ value }}
{% endtimezone %}

或者您可以使用 timezone过滤器:

{{ value|timezone:"Europe/Paris" }}

否则你将不得不找出用户的时区是什么(我想是通过她的 ip)。所以你可以使用 fasouto 提供的解决方案 here (但不可靠,因为它返回的是国家的第一个时区,而且有多个时区的国家)。

PS:我认为最好的办法是向用户询问她的时区并存储它,因为这是为她提供正确日期/时间显示的可靠方法。

关于python - Django 。显示正确的时间 - 取决于时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24874454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com