summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/views/generic/list_detail.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/django/views/generic/list_detail.py b/django/views/generic/list_detail.py
index d81d46f52b..f76b984be1 100644
--- a/django/views/generic/list_detail.py
+++ b/django/views/generic/list_detail.py
@@ -39,22 +39,22 @@ def object_list(request, app_label, module_name, paginate_by=None, allow_empty=F
lookup_kwargs = extra_lookup_kwargs.copy()
if paginate_by:
paginator = ObjectPaginator(mod, lookup_kwargs, paginate_by)
- page = request.GET.get('page', 0)
+ page = request.GET.get('page', 1)
try:
- object_list = paginator.get_page(page)
- except InvalidPage:
- if page == 0 and allow_empty:
+ page = int(page)
+ object_list = paginator.get_page(page - 1)
+ except (InvalidPage, ValueError):
+ if page == 1 and allow_empty:
object_list = []
else:
raise Http404
- page = int(page)
c = DjangoContext(request, {
'object_list': object_list,
'is_paginated': paginator.pages > 1,
'results_per_page': paginate_by,
- 'has_next': paginator.has_next_page(page),
- 'has_previous': paginator.has_previous_page(page),
- 'page': page + 1,
+ 'has_next': paginator.has_next_page(page - 1),
+ 'has_previous': paginator.has_previous_page(page - 1),
+ 'page': page,
'next': page + 1,
'previous': page - 1,
'pages': paginator.pages,