django 分页

       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.

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值