diff options
| author | Adrian Holovaty <adrian@holovaty.com> | 2006-02-18 20:13:46 +0000 |
|---|---|---|
| committer | Adrian Holovaty <adrian@holovaty.com> | 2006-02-18 20:13:46 +0000 |
| commit | 73ddfd8bd2b0703573072809aa977d5ca335d101 (patch) | |
| tree | 918cb01bbcab947728ff6a86850f2a36908da65c | |
| parent | e029c9f7f8765b895ef2893cdf7fabe6dc5e9806 (diff) | |
Fixed #1229 -- Added allow_empty argument to archive_year and archive_month date-based generic views
git-svn-id: http://code.djangoproject.com/svn/django/trunk@2337 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/views/generic/date_based.py | 9 | ||||
| -rw-r--r-- | docs/generic_views.txt | 6 |
2 files changed, 11 insertions, 4 deletions
diff --git a/django/views/generic/date_based.py b/django/views/generic/date_based.py index a4746f0574..c02e545ed5 100644 --- a/django/views/generic/date_based.py +++ b/django/views/generic/date_based.py @@ -51,7 +51,7 @@ def archive_index(request, app_label, module_name, date_field, num_latest=15, def archive_year(request, year, app_label, module_name, date_field, template_name=None, template_loader=loader, extra_lookup_kwargs={}, - extra_context={}, context_processors=None): + extra_context={}, allow_empty=False, context_processors=None): """ Generic yearly archive view. @@ -70,7 +70,7 @@ def archive_year(request, year, app_label, module_name, date_field, lookup_kwargs['%s__lte' % date_field] = now lookup_kwargs.update(extra_lookup_kwargs) date_list = getattr(mod, "get_%s_list" % date_field)('month', **lookup_kwargs) - if not date_list: + if not date_list and not allow_empty: raise Http404 if not template_name: template_name = "%s/%s_archive_year" % (app_label, module_name) @@ -88,7 +88,8 @@ def archive_year(request, year, app_label, module_name, date_field, def archive_month(request, year, month, app_label, module_name, date_field, month_format='%b', template_name=None, template_loader=loader, - extra_lookup_kwargs={}, extra_context={}, context_processors=None): + extra_lookup_kwargs={}, extra_context={}, allow_empty=False, + context_processors=None): """ Generic monthly archive view. @@ -122,7 +123,7 @@ def archive_month(request, year, month, app_label, module_name, date_field, lookup_kwargs['%s__lte' % date_field] = now lookup_kwargs.update(extra_lookup_kwargs) object_list = mod.get_list(**lookup_kwargs) - if not object_list: + if not object_list and not allow_empty: raise Http404 if not template_name: template_name = "%s/%s_archive_month" % (app_label, module_name) diff --git a/docs/generic_views.txt b/docs/generic_views.txt index f9544e12b2..cd27027f2e 100644 --- a/docs/generic_views.txt +++ b/docs/generic_views.txt @@ -168,6 +168,9 @@ The date-based generic functions are: Yearly archive. Requires that the ``year`` argument be present in the URL pattern. + **New in Django development version:** Takes an optional ``allow_empty`` + parameter, as ``archive_index``. + Uses the template ``app_label/module_name_archive_year`` by default. Has the following template context: @@ -187,6 +190,9 @@ The date-based generic functions are: default, which is a three-letter month abbreviation. To change it to use numbers, use ``"%m"``. + **New in Django development version:** Takes an optional ``allow_empty`` + parameter, as ``archive_index``. + Uses the template ``app_label/module_name_archive_month`` by default. Has the following template context: |
