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

num_pages

Атрибут num_pages класса Paginator возвращает общее количество страниц, на которые разбит набор объектов. Это значение вычисляется на основе общего количества объектов и размера страницы. Атрибут доступен только для чтения и полезен для отображения информации о пагинации в шаблонах или представлениях.

Синтаксис

paginator.num_pages

Пример

Получим общее количество страниц для набора из 25 объектов с размером страницы 10:

from django.core.paginator import Paginator # Создаем список из 25 объектов items = list(range(1, 26)) paginator = Paginator(items, 10) total_pages = paginator.num_pages print(f"Total pages: {total_pages}")

Результат выполнения кода:

"Total pages: 3"

Пример

Используем атрибут num_pages в представлении для передачи количества страниц в шаблон:

from django.core.paginator import Paginator from django.shortcuts import render from myapp.models import Article def article_list(request): articles = Article.objects.all() paginator = Paginator(articles, 5) total_pages = paginator.num_pages return render(request, 'articles.html', { 'total_pages': total_pages, })

Пример

Проверим, сколько страниц будет при пустом наборе объектов:

from django.core.paginator import Paginator empty_list = [] paginator = Paginator(empty_list, 10) total_pages = paginator.num_pages print(f"Pages for empty list: {total_pages}")

Результат выполнения кода:

"Pages for empty list: 1"

Пример

Сравним количество страниц для разного размера страницы:

from django.core.paginator import Paginator items = list(range(1, 101)) paginator_10 = Paginator(items, 10) paginator_20 = Paginator(items, 20) paginator_50 = Paginator(items, 50) print(f"10 items per page: {paginator_10.num_pages}") print(f"20 items per page: {paginator_20.num_pages}") print(f"50 items per page: {paginator_50.num_pages}")

Результат выполнения кода:

"10 items per page: 10" "20 items per page: 5" "50 items per page: 2"

Смотрите также

  • класс Paginator,
    который создает объект для разбивки данных на страницы
  • атрибут count,
    который возвращает общее количество объектов в пагинаторе
  • атрибут page_range,
    который возвращает диапазон номеров страниц
  • метод page,
    который возвращает объект страницы по ее номеру
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить