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

Сокращенный диапазон страниц в Django

Если страниц много, все номера показывать неудобно. Метод get_elided_page_range оставляет края и окрестность текущей страницы, остальное заменяет многоточием (paginator.ELLIPSIS):

page_range = list( paginator.get_elided_page_range( page_obj.number, on_each_side=2, on_ends=1, ) )

В шаблоне сравнивают с ELLIPSIS:

{% for num in page_range %} {% if num == page_obj.paginator.ELLIPSIS %} ... {% else %} <a href="?page={{ num }}">{{ num }}</a> {% endif %} {% endfor %}

Передайте в шаблон результат get_elided_page_range и выведите компактную навигацию.

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