Как использовать пагинацию в ListView в django с помощью methed get_paginate

class ManageStudentView(ListView): модель = Студент имя_шаблона = 'student/manage_student.html'

def get_context_data(self, **kwargs):
    kwargs = super(ManageStudentView, self).get_context_data(**kwargs)
    kwargs['student'] = User.objects.filter(user_type=STUDENT)
    return kwargs

def get_queryset(self):
    search_query = self.request.GET.get("student", None)
    if search_query != None:
        return Student.objects.filter(name__contains=search_query)
    return Student.objects.all()

def get_paginate_by(self, queryset):
    self.paginate_by = settings.PAGINATION_NUMBER
    return self.paginate_by

Сначала убедитесь, что импортировали свои модели и ListView

class YourViewNameHere(ListView):
    paginate_by = 2
    model = Your Model name

Это ограничивает количество объектов на странице и добавляет paginator и page_obj в контекст. Чтобы пользователи могли перемещаться между страницами, добавьте ссылки на следующую и предыдущую страницу в ваш шаблон следующим образом:

{% for some in page_obj %}
    {# Each "some" is a Your model object. #}
    {{ some.full_name|upper }}<br>
    ...
{% endfor %}
Вернуться на верх