分页-Pagination

from django.http import HttpResponse, JsonResponse
from django.views import View
from django.contrib.auth.models import User
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage


class UserListView(View):
    def get(self, request,  *args, **kwargs):
        users = User.objects.all()
        paginator = Paginator(users, 10) #show 25 user per page

        page = request.GET.get('page')
        try:
            users = paginator.page(page)
        except PageNotAnInteger:
            # if page is not an integer, deliver first page
            users = paginator.page(1)
        except EmptyPage:
            # If page is out of range (e.g. 9999), deliver last page of results
            users = paginator.page(paginator.num_pages)

        data = [{"id":user.id, "username":user.username, "email":user.email} for user in users]
        return JsonResponse(data, safe=False)

猜你喜欢

转载自www.cnblogs.com/sellsa/p/9848791.html
今日推荐