Python 如何基于用户显示时间值';使用Django模板标记创建时区

Python 如何基于用户显示时间值';使用Django模板标记创建时区,python,django,datetime,timezone,Python,Django,Datetime,Timezone,我将所有计时保存到“UTC”时区的数据库中,但我希望每个用户都能看到该值转换为自己的时区。可以在Django中使用吗 我的设置.py: 时区='UTC' 使用_I18N=True 使用\u L10N=True 使用_TZ=True 以下是我尝试过的: {% load tz %} <p> Leave on {{ request.date_time.date|localtime }} at {{ request.date_time.time|localtime }} </p&g

我将所有计时保存到“UTC”时区的数据库中,但我希望每个用户都能看到该值转换为自己的时区。可以在Django中使用吗

我的设置.py

时区='UTC'
使用_I18N=True
使用\u L10N=True
使用_TZ=True
以下是我尝试过的:

{% load tz %}
<p>
Leave on {{ request.date_time.date|localtime }}  at {{ request.date_time.time|localtime }}
</p>
{%load tz%}

在{{request.date|time.date | localtime}}于{{request.date|time.time | localtime}离开


但它给了我一个空白结果,当我删除
|localtime
部分时,它以UTC格式显示。有什么帮助吗?

您还可以将
时区
Django
视图转换为用户的
时区
,并将其传递到
上下文
中,并在
模板中使用该
上下文
,如下所示

视图.py

from django.utils import timezone
local_time = timezone.localtime(your_datetime_object)
现在,您可以将
local\u time
传递到上下文中,并在模板中使用它


如需更多参考,您可以

您还可以从
Django
视图
将您的
时区
转换为用户的
时区
,并将其传递到
上下文
中,并在
模板
中使用该
上下文
,如下所示

视图.py

from django.utils import timezone
local_time = timezone.localtime(your_datetime_object)
现在,您可以将
local\u time
传递到上下文中,并在模板中使用它


有关更多参考,您可以

localtime
模板标记不在
日期
对象上操作。它在
datetime
对象上运行。您应该在datetime对象上应用它,然后使用日期过滤器链接

{{ request.date_time|localtime|date:'Y-m-d' }} at {{ request.date_time|localtime|date:'H:i' }}
或者你可以

{% with local=request.date_time|localtime %}
  <p>
    Leave on {{ local|date:'Y-m-d' }} at {{ local|date:'H:i' }}
  </p>
{% endwith %}
{%with local=request.date_time | localtime%}

在{本地}日期:'Y-m-d'}在{本地}日期:'H:i'}离开

{%endwith%}
localtime
模板标记不在
日期
对象上操作。它在
datetime
对象上运行。您应该在datetime对象上应用它,然后使用日期过滤器链接

{{ request.date_time|localtime|date:'Y-m-d' }} at {{ request.date_time|localtime|date:'H:i' }}
或者你可以

{% with local=request.date_time|localtime %}
  <p>
    Leave on {{ local|date:'Y-m-d' }} at {{ local|date:'H:i' }}
  </p>
{% endwith %}
{%with local=request.date_time | localtime%}

在{本地}日期:'Y-m-d'}在{本地}日期:'H:i'}离开

{%endwith%}