РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pydjSpPgEr 71 of 204 menu

Ошибки пагинации EmptyPage и PageNotAnInteger в Django

Вызов paginator.page(...) может выбросить PageNotAnInteger, если номер не число, и EmptyPage, если страницы с таким номером нет.

from django.core.paginator import ( Paginator, EmptyPage, PageNotAnInteger, ) page_number = request.GET.get('page') try: page_obj = paginator.page(page_number) except PageNotAnInteger: page_obj = paginator.page(1) except EmptyPage: page_obj = paginator.page( paginator.num_pages )

Есть и paginator.get_page - он сам подставляет первую или последнюю страницу при ошибке. Разберем ручную обработку, чтобы понять исключения.

Обработайте PageNotAnInteger и EmptyPage в списке работников.

Замените разбор на paginator.get_page и сравните поведение.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить