Fixed #13689 -- Convert the per_page value to an integer upon initialization of the Paginator class to prevent unpleasant TypeErrors. Thanks, rbanffy, Eric Florenzano and Claude Paroz.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16073 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
e744fec8f9
commit
0e9692bc66
|
@ -13,8 +13,8 @@ class EmptyPage(InvalidPage):
|
||||||
class Paginator(object):
|
class Paginator(object):
|
||||||
def __init__(self, object_list, per_page, orphans=0, allow_empty_first_page=True):
|
def __init__(self, object_list, per_page, orphans=0, allow_empty_first_page=True):
|
||||||
self.object_list = object_list
|
self.object_list = object_list
|
||||||
self.per_page = per_page
|
self.per_page = int(per_page)
|
||||||
self.orphans = orphans
|
self.orphans = int(orphans)
|
||||||
self.allow_empty_first_page = allow_empty_first_page
|
self.allow_empty_first_page = allow_empty_first_page
|
||||||
self._num_pages = self._count = None
|
self._num_pages = self._count = None
|
||||||
|
|
||||||
|
|
|
@ -94,6 +94,11 @@ class PaginatorTests(TestCase):
|
||||||
(([1, 2], 1, 1, True), (2, 1, [1])),
|
(([1, 2], 1, 1, True), (2, 1, [1])),
|
||||||
(([1, 2, 3], 2, 1, True), (3, 1, [1])),
|
(([1, 2, 3], 2, 1, True), (3, 1, [1])),
|
||||||
((eleven, 10, 1, True), (11, 1, [1])),
|
((eleven, 10, 1, True), (11, 1, [1])),
|
||||||
|
# Non-integer inputs
|
||||||
|
((ten, '4', 1, False), (10, 3, [1, 2, 3])),
|
||||||
|
((ten, u'4', 1, False), (10, 3, [1, 2, 3])),
|
||||||
|
((ten, 4, '1', False), (10, 3, [1, 2, 3])),
|
||||||
|
((ten, 4, u'1', False), (10, 3, [1, 2, 3])),
|
||||||
)
|
)
|
||||||
for params, output in tests:
|
for params, output in tests:
|
||||||
self.check_paginator(params, output)
|
self.check_paginator(params, output)
|
||||||
|
|
Loading…
Reference in New Issue