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

Атрибут page_range

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

Синтаксис

paginator.page_range

Пример

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

from django.core.paginator import Paginator from myapp.models import Article # Get all articles articles = Article.objects.all() # Create paginator with 10 items per page paginator = Paginator(articles, 10) # Get page range res = paginator.page_range print(res)

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

range(1, 6)

Пример

Давайте используем диапазон страниц для создания простой навигации в представлении:

from django.core.paginator import Paginator from myapp.models import Article from django.shortcuts import render def article_list(request): articles = Article.objects.all() paginator = Paginator(articles, 5) # Get current page number from request page_number = request.GET.get('page', 1) page_obj = paginator.get_page(page_number) # Get page range for navigation page_range = paginator.page_range context = { 'page_obj': page_obj, 'page_range': page_range, } return render(request, 'articles/list.html', context)

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

"Page range object: range(1, 11)"

Пример

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

from django.core.paginator import Paginator from myapp.models import Article articles = Article.objects.all() paginator = Paginator(articles, 3) # Get page range page_range = paginator.page_range # Check if range is iterable if page_range: print(f"Total pages: {len(page_range)}") # Iterate through page numbers for page_num in page_range: print(f"Page {page_num} is available")

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

"Total pages: 4" "Page 1 is available" "Page 2 is available" "Page 3 is available" "Page 4 is available"

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

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