Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django模板渲染时间不正确_Django_Django Templates - Fatal编程技术网

Django模板渲染时间不正确

Django模板渲染时间不正确,django,django-templates,Django,Django Templates,我需要在两个不同的时区中显示datetime对象。在后端,我使用astimezone()更改原始datetime tzinfo,代码如下: print("event.date_start: %s" % event.date_start) print("event.date_start.hour: %s" % event.date_start.hour) print("event.date_start.tzinfo: %s" % even

我需要在两个不同的时区中显示datetime对象。在后端,我使用
astimezone()
更改原始datetime tzinfo,代码如下:

print("event.date_start: %s" % event.date_start)
print("event.date_start.hour: %s" % event.date_start.hour)
print("event.date_start.tzinfo: %s" % event.date_start.tzinfo)

user_timezone = pytz.timezone("America/Guayaquil")
print("user_timezone: %s" % user_timezone)

event_user_timezone = event.date_start.astimezone(user_timezone)
print("event_user_timezone: %s" % event_user_timezone)
print("event_user_timezone.hour: %s" % event_user_timezone.hour)
此代码正确打印日期时间,
event.date\u start
为UTC时间,18小时-
event\u user\u时区
为“America/Guayaquil”,13小时

但是,在呈现html时,使用以下代码:

<p class="text-muted font-weight-bold" >
    {{ event.date_start|date:"h:i A" }} ({{ owner_profile.timezone }})
</p>
 <p class="text-muted font-weight-bold">
    {{ event_user_timezone|date:"h:i A" }} {{ logged_user_profile.timezone }}
 </p>

{{event.date_start|date:{h:ia}}({{owner_profile.timezone}})

{{event_user_timezone}日期:“h:ia”}{{{logged_user_profile.timezone}}


这两个时间均显示为下午6点。为什么?

日期筛选器专门设计用于撤消您所做的操作,因为它标记为“expects\u localtime”,然后转到
django.utils.timezone.template\u localtime

您不必执行视图中的操作,相反,您应该使用日期过滤器和标记,然后为给定块设置正确的时区

{%timezone所有者\u profile.timezone%}

{{event.date_start|date:{h:ia}}({{owner_profile.timezone}})

{%endtimezone%} {%timezone logged_user_profile.timezone%}

{{event.date_start|date:“h:ia”}{{{{logged_user_profile.timezone}}

{%endtimezone%}
日期筛选器专门设计用于撤消您所做的操作,因为它标记为“expects\u localtime”,然后转到
django.utils.timezone.template\u localtime

您不必执行视图中的操作,相反,您应该使用日期过滤器和标记,然后为给定块设置正确的时区

{%timezone所有者\u profile.timezone%}

{{event.date_start|date:{h:ia}}({{owner_profile.timezone}})

{%endtimezone%} {%timezone logged_user_profile.timezone%}

{{event.date_start|date:“h:ia”}{{{{logged_user_profile.timezone}}

{%endtimezone%}
您是否将
使用\u L10N
设置为
?是否将
使用\u L10N
设置为
<p class="text-muted font-weight-bold" >
    {{ event.date_start|date:"h:i A" }} ({{ owner_profile.timezone }})
</p>
 <p class="text-muted font-weight-bold">
    {{ event_user_timezone|date:"h:i A" }} {{ logged_user_profile.timezone }}
 </p>