Ticket #3542: date_list_period.diff
File date_list_period.diff, 1.8 KB (added by , 17 years ago) |
---|
-
django/views/generic/date_based.py
10 10 def archive_index(request, queryset, date_field, num_latest=15, 11 11 template_name=None, template_loader=loader, 12 12 extra_context=None, allow_empty=False, context_processors=None, 13 mimetype=None, allow_future=False, template_object_name='latest'): 13 mimetype=None, allow_future=False, template_object_name='latest', 14 date_list_period='year'): 14 15 """ 15 16 Generic top-level archive of date-based objects. 16 17 … … 25 26 model = queryset.model 26 27 if not allow_future: 27 28 queryset = queryset.filter(**{'%s__lte' % date_field: datetime.datetime.now()}) 28 date_list = queryset.dates(date_field, 'year')[::-1] 29 if date_list_period == 'month': 30 date_list = queryset.dates(date_field, 'month')[::-1] 31 else: 32 date_list = queryset.dates(date_field, 'year')[::-1] 29 33 if not date_list and not allow_empty: 30 34 raise Http404, "No %s available" % model._meta.verbose_name 31 35 -
docs/generic_views.txt
205 205 Designates the name of the template variable to use in the template 206 206 context. By default, this is ``'latest'``. 207 207 208 * **New in Django development version:** ``date_list_period``: Specifies 209 what date period is placed in ``date_list``. Acceptable values are 210 ``'year'`` and ``'month'``. By default, this is ``'year'``. 211 208 212 **Template name:** 209 213 210 214 If ``template_name`` isn't specified, this view will use the template