在Django Web应用程序中为最终用户显示正确的本地时区

时间:2015-05-25 13:06:42

标签: python django

我是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。

如何确保我的印度和墨西哥用户在评论时看到他们的本地时间戳?

1 个答案:

答案 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
相关问题