【发布时间】:2014-02-07 13:51:48
【问题描述】:
您好,我升级到了 django 1.4,我想利用时区支持,我在 postgres 中保存了一些日期时间字段,一旦我设置了它们,假设我所在城市的时区保存了它们
USE_TZ = True
并将时区设置为我的城市,我的模板中的日期过滤器标签输出正确的小时(时区)
{{ concert.datetime|date:'f' }}
问题是:我使用日期时间来构建我的网址,如下所示:
{% url event artist_slug=concert.slug_name hour=concert.datetime.hour %}
那些没有正确的时区,小时仍然是UTC,这会改变我的链接,我不能做的事情,它会失去所有的页面排名和很多网站链接使用,不可行,不提到网址的时间与广告中的时间不同,这看起来很奇怪。 我试过这个:
{% url event artist_slug=concert.slug_name hour=concert.datetime.hour|date:'H' %}
如果不成功,则不会应用日期过滤器标签并引发异常。 我有一个相当大的代码库和很多模板,有没有办法在不使用返回日期时间时区的访问器的情况下解决这个问题?
谢谢。
【问题讨论】:
-
我将尝试修补从数据库构建日期时间对象的代码,以使用当前请求 tz 信息对返回的对象进行时区。
标签: django postgresql templates timezone