Django пагинация для контроллера
Как добавить пагинацию здесь? Используя django pagination
class UserListView(APIView):
@method_decorator(admin_decorator())
def post(self, request):
try:
controller = UserListController(data=request.data)
return Response(status=status.HTTP_200_OK, data=controller.get_data())
except Exception as e:
print(e)
return Response({"message": "Internal Server Error"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
from django.core.paginator import Paginator
перед возвратом ответа добавьте следующие строки. controller.get_data() должен быть списком. grid_limit - количество данных на странице.
paginator = Paginator(controller.get_data(), grid_limit)
page_number = request.GET.get('page')
page_obj = paginator.get_page(page_number)
return Response(status=status.HTTP_200_OK, page_obj)