对于博客应用,我正在尝试获取所有月份的列表,其中已发布帖子,但发现模板中呈现的错误月份集。我乱砍了,发现了以下结果,
>>> date_list = Entry.objects.filter().dates('pub_date','month')
上面的代码,给我一组正确的月份,
>>> date_list[6]
datetime.datetime(2012, 6, 1, 0, 0, tzinfo=<UTC>)
月份表示6月份,但是当使用模板呈现时,月份减少1,即“可能”
>>> t = Template("The month is {{ month|date:'m' }} ")
>>> c = Context({"month": date_list[6]})
>>> t.render(c)
u'The month is 05 '
而真正的价值是
>>> date_list[6].month
6
一切都运行得很好,除了几个月的这个bug,我错过了一些基本的东西,还是django的模板引擎本身的错误?
答案 0 :(得分:2)
你的时区是什么时候?日期为UTC,因此2012-06-01 00:00:00(UTC时间)仍然是前一天的另一个时区,例如2012-05-31 20:00:00在东部。
以下是相关docs
的链接