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
This commit is contained in:
parent
70e5dce365
commit
2bec822ff3
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue