summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/core/paginator.py2
-rw-r--r--tests/pagination/tests.py2
2 files changed, 4 insertions, 0 deletions
diff --git a/django/core/paginator.py b/django/core/paginator.py
index bc41ddb914..4af80a26f2 100644
--- a/django/core/paginator.py
+++ b/django/core/paginator.py
@@ -35,6 +35,8 @@ class Paginator:
def validate_number(self, number):
"""Validate the given 1-based page number."""
try:
+ if isinstance(number, float) and not number.is_integer():
+ raise ValueError
number = int(number)
except (TypeError, ValueError):
raise PageNotAnInteger(_('That page number is not an integer'))
diff --git a/tests/pagination/tests.py b/tests/pagination/tests.py
index 5c2e7db197..8be81240e8 100644
--- a/tests/pagination/tests.py
+++ b/tests/pagination/tests.py
@@ -120,6 +120,8 @@ class PaginationTests(unittest.TestCase):
paginator.validate_number(None)
with self.assertRaises(PageNotAnInteger):
paginator.validate_number('x')
+ with self.assertRaises(PageNotAnInteger):
+ paginator.validate_number(1.2)
def test_float_integer_page(self):
paginator = Paginator([1, 2, 3], 2)