@sylvester
Для того, чтобы сделать пагинацию в Django, вы можете использовать класс Paginator
из модуля django.core.paginator
.
Вот пример того, как это может выглядеть:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
from django.core.paginator import Paginator def my_view(request): # Получаем список объектов, которые нужно отобразить на странице object_list = MyModel.objects.all() # Создаем объект Paginator, указывая, что нужно разбить на страницы по 10 объектов на каждой paginator = Paginator(object_list, 10) # Получаем номер текущей страницы из запроса page_number = request.GET.get('page') # Получаем текущую страницу, используя номер страницы page_obj = paginator.get_page(page_number) # Обрабатываем страницу в шаблоне return render(request, 'my_template.html', {'page_obj': page_obj}) |
В шаблоне вы можете использовать атрибуты page_obj
для отображения списка объектов на текущей странице, а также навигации по страницам. Например:
1 2 3 |
{% for object in page_obj %} {{ object }} {% endfor %} |