1.在view.py中使用字符切割的形式进行分页
def Wenzhang2(request): pagenum=request.GET.get('pagenum') 条数 pagesize = request.GET.get('pagesize')页数 a = (int(pagenum) - 1) * int(pagesize) b = (int(pagenum) - 1) * int(pagesize) + int(pagesize) a = Rong.objects.all()[a:b] 字符串进行切割 c = Rong.objects.all().count() guo = [] for i in a: guo.append({ 'id': i.id, 'biao': i.biao, 'user': i.user, 'du': i.du, 'ping': i.ping, 'Rong_id': i.Rong_id.name, 'lou_id':i.Rong_id.id, }) return JsonResponse({'code': 200, 'data': list(guo),'count':c})
vue 进行接收
2.使用 rest_framework settings.py 中配置
下载命令: pip install djangorestframework
注册:
在 settings.py 中配置
REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE': 5 每页显示5条 }
3. 使用rest_framework 引入模块 PageNumberPagination
引入命令:from rest_framework.pagination import PageNumberPagination
编写:
class Page(PageNumberPagination): 继承 PageNumberPagination 这个类 page_size_query_param = 'pagesize' 默认第几页 page_query_param = 'pagenum' 每页显示几条 max_page_size = 10 最大10条 page_size = 5 默认每页5条
需要用到分页 调用这函数 即可 通过
pagination_class = 定义的函数) 调用
借鉴
def quanxian(request): pagenum = request.GET.get('pagenum') # 条数 pagesize = request.GET.get('pagesize') # 页数 a = (int(pagenum) - 1) * int(pagesize) b = int(pagenum) * int(pagesize) data = list(quanxiancaidan.objects.all().values())[a:b] # print(data,786) c = quanxiancaidan.objects.all().count() return JsonResponse({'code': 200, 'data': data, 'count': c}) # Create your views here.