我是Django的初学者。我的settings.py文件中的时区设置为“UTC”。我的网络应用程序的最终用户来自印度和墨西哥 - 两个截然不同的时区。我有一个评论模板,我在其中显示如下评论:
{% get_comment_list for object as comment_list %}
{% for comment in comment_list reversed %}
<p>
<div class="comment">
<a href="{% url 'profile' slug=comment.user_name %}">{{ comment.user_name }}</a>
{{ ':' }}
{{ comment.comment }}
</div>
<div class="date">
{{ comment.submit_date }}
</div>
</p>
{% endfor %}
我在顶部尝试{% load tz %}
然后尝试通过{% localtime on %}
将comment.submit_date转换为本地时间,但它只是为我喷出UTC。
如何确保我的印度和墨西哥用户在评论时看到他们的本地时间戳?
答案 0 :(得分:0)
{%localtime on%}的使用是正确的,但您需要先激活用户的时区,然后才能使用它。 Django不会自动了解您的用户tz。
https://docs.djangoproject.com/en/1.8/ref/utils/#django.utils.timezone.activate
# py
settings.TIME_ZONE = 'UTC'
timezone.activate('us/estern')
# template
{% localtime on %}
{{ datetime }} <= this time will be in estern standard time