Changeset 6146
- Timestamp:
- 09/13/07 20:01:02 (1 year ago)
- Files:
-
- django/trunk/django/core/paginator.py (modified) (2 diffs)
- django/trunk/django/views/generic/list_detail.py (modified) (2 diffs)
- django/trunk/docs/generic_views.txt (modified) (2 diffs)
- django/trunk/tests/modeltests/pagination/models.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/core/paginator.py
r4041 r6146 21 21 self.orphans = orphans 22 22 self._hits = self._pages = None 23 self._page_range = None 23 24 24 25 def validate_page_number(self, page_number): … … 84 85 self._pages = hits // self.num_per_page + 1 85 86 return self._pages 87 88 def _get_page_range(self): 89 """ 90 Returns a 1-based range of pages for iterating through within 91 a template for loop. 92 """ 93 if self._page_range is None: 94 self._page_range = range(1, self._pages + 1) 95 return self._page_range 86 96 87 97 hits = property(_get_hits) 88 98 pages = property(_get_pages) 99 page_range = property(_get_page_range) django/trunk/django/views/generic/list_detail.py
r5877 r6146 40 40 the result number of the first object in the 41 41 object_list (1-indexed) 42 page_range: 43 A list of the page numbers (1-indexed). 42 44 """ 43 45 if extra_context is None: extra_context = {} … … 68 70 'pages': paginator.pages, 69 71 'hits' : paginator.hits, 72 'page_range' : paginator.page_range 70 73 }, context_processors) 71 74 else: django/trunk/docs/generic_views.txt
r5877 r6146 766 766 page. 767 767 768 * ``page_range``: A list of the page numbers that are available. This 769 is 1-based. 770 768 771 Notes on pagination 769 772 ~~~~~~~~~~~~~~~~~~~ … … 782 785 /objects/?page=3 783 786 784 In both cases, ``page`` is 1-based, not 0-based, so the first page would be 787 * To loop over all the available page numbers, use the ``page_range`` 788 variable. You can iterate over the list provided by ``page_range`` 789 to create a link to every page of results. 790 791 These values and lists are is 1-based, not 0-based, so the first page would be 785 792 represented as page ``1``. 786 793 django/trunk/tests/modeltests/pagination/models.py
r5876 r6146 78 78 >>> paginator.pages 79 79 2 80 81 # The paginator can provide a list of all available pages 82 >>> paginator.page_range 83 [1, 2] 80 84 """}
