Hi Aymeric, On Friday, April 27, 2012 at 9:21 PM, Aymeric Augustin wrote:
> > After some research, I understand that there are more problems with this > > views, than I thought at first. django.views.generic.dates module uses > > aware and naive datetime objects together, which breaks all date-based > > views except YearArchiveView. > > > > Let's have, for example: > > - America/Chicago as TIME_ZONE > > - an article, published at 2012-12-31 23:00:00 in local time zone > > (2012-01-01 05:00:00 UTC) > > - an url /articles/{year}/ which returns list of articles for requested year > > - an url /articles/{year}/{month}/ which returns list of articles for > > requested month > > > > As I understand, year and month must be in UTC in urls > > They are in local time in the default time zone. Are you sure? Because if so, YearArchiveView is broken: it uses year lookup (https://docs.djangoproject.com/en/1.4/ref/models/querysets/#year), which is performed in UTC. Also, date_list context variable from all this views becomes useless, because in contains datetime.datetime objects in UTC. You can't use date_list to build urls in templates in this case. E.g. we have two articles: the first is published at 2012-04-27 in local time zone and at 2012-04-28 in UTC, and the second is published at 2012-04-28 in local time zone and at 2012-04-28 in UTC. date_list from MonthArchiveView will contain only one date - 2012-04-28 in UTC. Depending on what time zone we will use in template to build urls to DayArchiveView (local time zone or UTC), first or second article will not be present in output of this view. And also, URLs to date-based views become dependent on current time zone (which can be changed for request on some projects), so you can't share this URLs with others and be sure, that they will work for others. -- Mike Yumatov -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.