Парень – это общая навигационная техника разделения контента на отдельные страницы. Это помогает сделать контент более организованным и, таким образом, улучшать пользовательский опыт.
Итак, как мы можем нанести стравные данные в Django? Первое, что нам нужно сделать, это обновить наши взгляды, чтобы нанести страницу на странице данных. Мы посмотрим на оба Функциональные представления
и Классовые взгляды
.
Нам нужно импортировать пагинатора из django.core.paginator
который разбивает набор запросов на объекты страниц. Подумайте, у нас есть 45 сообщений в блоге, и мы хотим отображать не более 10 сообщений на страницу.
from django.shortcuts import render from django.core.paginator import Paginator form .models import Blog def blogposts(request): blogs = Blog.objects.all() paginator = Paginator(blogs, 10) page_number = request.GET.get('page') page_obj = paginator.get_page(page_number) return render(request, 'index.html', {'page_obj': page_obj})
Приведенный выше пример будет нанести на страницу набора запросов блогов на страницах 10. Это создаст результат 5 страниц. Первые 4 страницы с 10 сообщениями в блоге на каждой и последней странице с 5.
В классных представлениях мы можем использовать paginate_by
Атрибут, чтобы указать число, с помощью которого можно страдать на странице запроса.
from .models import Blog from django.views.generic import ListView class blogposts(ListView): model = Blog paginate_by = 10
После обновления представлений нам нужно обновить наш шаблон. Чтобы иметь возможность перемещаться между сообщениями, мы должны добавить ссылки в нашем шаблоне.
Это отображает предыдущие ссылки с текущим номером страницы. Это простой пример страниц, но вы можете стать более креативным с ней. Вы можете следить за этим Ссылка Для получения дополнительной информации о классе Paginator.
Оригинал: “https://dev.to/biplov/how-to-paginate-with-django-5c8p”