From 2bec822ff345ed68047d618f707bb2765fad7e5f Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Fri, 14 Sep 2007 03:54:28 +0000 Subject: [PATCH] Fixed #3895 -- Added ability to customize the context variable in the archive_index generic view. Thanks to marco.giusti@gmail.com and toke-django@toke.de. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6157 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/views/generic/date_based.py | 4 ++-- docs/generic_views.txt | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/django/views/generic/date_based.py b/django/views/generic/date_based.py index 1a8c4c611a1..e6a75e63aa5 100644 --- a/django/views/generic/date_based.py +++ b/django/views/generic/date_based.py @@ -10,7 +10,7 @@ from django.http import Http404, HttpResponse def archive_index(request, queryset, date_field, num_latest=15, template_name=None, template_loader=loader, extra_context=None, allow_empty=False, context_processors=None, - mimetype=None, allow_future=False): + mimetype=None, allow_future=False, template_object_name='latest'): """ Generic top-level archive of date-based objects. @@ -39,7 +39,7 @@ def archive_index(request, queryset, date_field, num_latest=15, t = template_loader.get_template(template_name) c = RequestContext(request, { 'date_list' : date_list, - 'latest' : latest, + template_object_name : latest, }, context_processors) for key, value in extra_context.items(): if callable(value): diff --git a/docs/generic_views.txt b/docs/generic_views.txt index 33c39b7e12c..6671382b58c 100644 --- a/docs/generic_views.txt +++ b/docs/generic_views.txt @@ -201,6 +201,9 @@ a date in the *future* are not included unless you set ``allow_future`` to specified in ``date_field`` is greater than the current date/time. By default, this is ``False``. + * ``template_object_name``: Designates the name of the template variable + to use in the template context. By default, this is ``'latest'``. + **Template name:** If ``template_name`` isn't specified, this view will use the template @@ -221,9 +224,13 @@ In addition to ``extra_context``, the template's context will be: years that have objects available according to ``queryset``. These are ordered in reverse. This is equivalent to ``queryset.dates(date_field, 'year')[::-1]``. + * ``latest``: The ``num_latest`` objects in the system, ordered descending by ``date_field``. For example, if ``num_latest`` is ``10``, then - ``latest`` will be a list of the latest 10 objects in ``queryset``. + ``latest`` will be a list of the latest 10 objects in ``queryset``. This + variable's name depends on the ``template_object_name`` parameter, which + is ``'latest'`` by default. If ``template_object_name`` is ``'foo'``, + this variable's name will be ``foo``. .. _RequestContext docs: ../templates_python/#subclassing-context-requestcontext