mirror of
https://github.com/django/django.git
synced 2025-10-25 14:46:09 +00:00
Fixed #1795 -- Added page_range to paginators in generic list views. Thanks to polarcowz@gmail.com and Marc Fargas <telenieko@telenieko.com> for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6146 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -20,6 +20,7 @@ class ObjectPaginator(object):
|
||||
self.num_per_page = num_per_page
|
||||
self.orphans = orphans
|
||||
self._hits = self._pages = None
|
||||
self._page_range = None
|
||||
|
||||
def validate_page_number(self, page_number):
|
||||
try:
|
||||
@@ -83,6 +84,16 @@ class ObjectPaginator(object):
|
||||
hits = 0
|
||||
self._pages = hits // self.num_per_page + 1
|
||||
return self._pages
|
||||
|
||||
def _get_page_range(self):
|
||||
"""
|
||||
Returns a 1-based range of pages for iterating through within
|
||||
a template for loop.
|
||||
"""
|
||||
if self._page_range is None:
|
||||
self._page_range = range(1, self._pages + 1)
|
||||
return self._page_range
|
||||
|
||||
hits = property(_get_hits)
|
||||
pages = property(_get_pages)
|
||||
page_range = property(_get_page_range)
|
||||
|
||||
Reference in New Issue
Block a user