Атрибут paginator

Атрибут paginator класса Page предоставляет ссылку на объект пагинатора (экземпляр класса Paginator), который был использован для создания данной страницы. Через этот атрибут можно получить доступ ко всем свойствам и методам пагинатора, таким как общее количество объектов, количество страниц и диапазон страниц. Этот атрибут доступен только для чтения и автоматически устанавливается при создании объекта страницы.

Синтаксис

pythonpage.paginator

Пример

Давайте получим объект пагинатора из объекта страницы и выведем его тип:

pythonfrom django.core.paginator import Paginator
from myapp.models import Article

# Creating a paginator with 10 articles and 3 per page
articles = Article.objects.all()
paginator = Paginator(articles, 3)

# Getting the first page
page = paginator.page(1)

# Accessing the paginator attribute
res = page.paginator
print(res)

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

python"<django.core.paginator.Paginator object at 0x7f8a4c1d2e10>"

Пример

Давайте используем атрибут paginator для получения общего количества объектов и количества страниц:

pythonfrom django.core.paginator import Paginator
from myapp.models import Article

# Creating a paginator with 25 articles and 5 per page
articles = Article.objects.all()
paginator = Paginator(articles, 5)

# Getting the second page
page = paginator.page(2)

# Using paginator attribute to access paginator properties
total_objects = page.paginator.count
total_pages = page.paginator.num_pages

print(f"Total objects: {total_objects}")
print(f"Total pages: {total_pages}")

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

python"Total objects: 25"
"Total pages: 5"

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

  • класс Paginator,
    который предоставляет объект пагинации
  • атрибут object_list,
    который возвращает список объектов на текущей странице
  • метод page,
    который возвращает объект страницы по номеру
  • атрибут num_pages,
    который возвращает общее количество страниц