diff -r a3fc401a5612 django/views/generic/date_based.py
a
|
b
|
def archive_index(request, queryset, dat
|
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=True, 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 | |
… |
… |
def archive_index(request, queryset, dat
|
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 | |
diff -r a3fc401a5612 docs/generic_views.txt
a
|
b
|
a date in the *future* are not included
|
204 | 204 | * **New in Django development version:** ``template_object_name``: |
205 | 205 | Designates the name of the template variable to use in the template |
206 | 206 | context. By default, this is ``'latest'``. |
| 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'``. |
207 | 211 | |
208 | 212 | **Template name:** |
209 | 213 | |