Атрибут paginator
Атрибут paginator класса Page предоставляет ссылку на объект пагинатора (экземпляр класса Paginator), который был использован для создания данной страницы. Через этот атрибут можно получить доступ ко всем свойствам и методам пагинатора, таким как общее количество объектов, количество страниц и диапазон страниц. Этот атрибут доступен только для чтения и автоматически устанавливается при создании объекта страницы.
Синтаксис
page.paginator
Пример
Давайте получим объект пагинатора из объекта страницы и выведем его тип:
from 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)
Результат выполнения кода:
"<django.core.paginator.Paginator object at 0x7f8a4c1d2e10>"
Пример
Давайте используем атрибут paginator для получения общего количества объектов и количества страниц:
from 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}")
Результат выполнения кода:
"Total objects: 25"
"Total pages: 5"
Смотрите также
-
класс
Paginator,
который предоставляет объект пагинации -
атрибут
object_list,
который возвращает список объектов на текущей странице -
метод
page,
который возвращает объект страницы по номеру -
атрибут
num_pages,
который возвращает общее количество страниц