Django

Code

Changeset 2426

Show
Ignore:
Timestamp:
02/27/06 17:34:39 (3 years ago)
Author:
jacob
Message:

Fixed #1033 -- pagination in object_list generic views now use 1-indexed page numbers in the URL. Thanks, Tom Tobin.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/views/generic/list_detail.py

    r1773 r2426  
    4040    if paginate_by: 
    4141        paginator = ObjectPaginator(mod, lookup_kwargs, paginate_by) 
    42         page = request.GET.get('page', 0
     42        page = request.GET.get('page', 1
    4343        try: 
    44             object_list = paginator.get_page(page) 
    45         except InvalidPage: 
    46             if page == 0 and allow_empty: 
     44            page = int(page) 
     45            object_list = paginator.get_page(page - 1) 
     46        except (InvalidPage, ValueError): 
     47            if page == 1 and allow_empty: 
    4748                object_list = [] 
    4849            else: 
    4950                raise Http404 
    50         page = int(page) 
    5151        c = DjangoContext(request, { 
    5252            'object_list': object_list, 
    5353            'is_paginated': paginator.pages > 1, 
    5454            'results_per_page': paginate_by, 
    55             'has_next': paginator.has_next_page(page), 
    56             'has_previous': paginator.has_previous_page(page), 
    57             'page': page + 1
     55            'has_next': paginator.has_next_page(page - 1), 
     56            'has_previous': paginator.has_previous_page(page - 1), 
     57            'page': page
    5858            'next': page + 1, 
    5959            'previous': page - 1,