You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
626 B
19 lines
626 B
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
|
|
|
|
class SeoPaginator(Paginator):
|
|
|
|
def validate_number(self, number):
|
|
"Validates the given 1-based page number."
|
|
try:
|
|
number = int(number)
|
|
except (TypeError, ValueError):
|
|
raise PageNotAnInteger('That page number is not an integer')
|
|
if number < 1:
|
|
raise EmptyPage('That page number is less than 1')
|
|
if number > self.num_pages:
|
|
if number == 1 and self.allow_empty_first_page:
|
|
pass
|
|
else:
|
|
number = 1
|
|
return number
|
|
|
|
|