分页

from django.shortcuts import render

# Create your views here.

from rest_framework import serializers
from rest_framework.views import APIView
from .models import *
from rest_framework.response import Response
from rest_framework.pagination import PageNumberPagination class MySerializer(serializers.ModelSerializer):
class Meta:
model = Roles fields = '__all__' class MyPagination(PageNumberPagination):
page_size = 1
page_query_param = 'page'
page_size_query_param = 'page_size'
max_page_size = 50 class MyView(APIView): def get(self, request, *args, **kwargs):
queryset = Roles.objects.all()
pagers = MyPagination()
instance = pagers.paginate_queryset(queryset, request, self)
serializer = MySerializer(instance=instance, many=True)
return Response(serializer.data)
  • PageNumberPagination:需要在rest-framework的setting配置:'PAGE_SIZE'
  • 使用
    • 先实例化一个分页对象
    • 调用实例化对象的paginate_queryset方法,这个方法接受3个参数,查询的queryset对象,request,view
    • 序列化
    • 返回
  • 自定义分页对象
    • 需继承PageNumberPagination
    • 设置默认的page_size
    • page_query_param: 设置该参数,可以从url的参数里面获取请求页数
    • page_size_query_param: 设置该参数,可以从url的参数里面获取请求页数大小
    • max_page_size: 设置该参数,限制一页请求的大小,防止恶意请求

rest_framework-分页的更多相关文章

  1. rest_framework 分页三种

    .分页 a. 分页 看第n页 每页显示n条数据: b. 分页 在某个位置 向后查看多少条数据 c. 加密分页 上一页和下一页 本质:查看 记住页码id的最大值和最小值 通过其来准确扫描 过去的话 会从 ...

  2. django rest_framework 分页出现报错

    1.出现: WARNINGS: ?: (rest_framework.W001) You have specified a default PAGE_SIZE pagination rest_fram ...

  3. Django rest framework(7)----分页

    目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...

  4. rest_framework框架的认识

    它是基于Django的,帮助我们快速开发符合RESTful规范的接口框架. 一  路由 可以通过路由as_view()传参 根据请求方式的不同执行对应不同的方法 在routers模块下 封装了很多关于 ...

  5. 10.30 rest_framework总结

    2018-10-30 20:25:23 终于学完了rest_framework  这个框架! 这个框架有一些基本组件!最重要的就是看源码!要一个类一个类的去找!按顺序! 并且要自己配置类的时候要先看源 ...

  6. rest_framework框架

    rest_framework框架的认识 它是基于Django的,帮助我们快速开发符合RESTful规范的接口框架. 一  路由 可以通过路由as_view()传参 根据请求方式的不同执行对应不同的方法 ...

  7. (生鲜项目)08. ModelSerializer 实现商品列表页, 使用Mixin来实现返回, 以及更加方便的ListAPIView, 以及分页的设置

    第一步: 学会使用ModelSerializer, 并且会使用ModelSerializer相互嵌套功能 1. goods.serializers.py from rest_framework imp ...

  8. 关于django中的rest_framework的使用

      rest_framework框架的认识   它是基于Django的,帮助我们快速开发符合RESTful规范的接口框架. 一  路由 可以通过路由as_view()传参 根据请求方式的不同执行对应不 ...

  9. Django REST framework+Vue 打造生鲜超市(四)

    五.商品列表页 5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分django和django res ...

  10. drf 认证、权限、限流、过滤、排序、分页器

    认证Authentication 准备工作:(需要结合权限用) 1. 需要使用到登陆功能,所以我们使用django内置admin站点并创建一个管理员. python manage.py creates ...

随机推荐

  1. web自动化原理

    在说原理之前我想说下我所理解的selenium: (1).支持多语言,多平台,多浏览器 (2).它是一个工具包 (3).提供所有的网页操作api,是一个功能库 通过selenium来实现web自动化, ...

  2. c strncpy 容易出错的地方

    使用strncpy的是注意两点,目的是数组和目的是指针 .目的是数组: ] = "abcde"; // ] = "; strncpy(dest,src,N); dest[ ...

  3. jmeter 性能测试基本过程及示例

    jmeter 为性能测试提供了一下特色: jmeter 可以对测试静态资源(例如 js.html 等)以及动态资源(例如 php.jsp.ajax 等等)进行性能测试jmeter 可以挖掘出系统最大能 ...

  4. 《JavaScript 模式》读书笔记(2)— 基本技巧3

    这是基本技巧的最后一篇内容,这篇内容示例代码并不多.主要是概念比较多一点. 编码约定 确定并一致遵循约定比这个具体约定是什么更为重要. 一.缩进 无论是使用tab还是空格,只要是一致遵循的,是什么并不 ...

  5. 一、create-react-app的安装及使用

    一.安装create-react-app 1.在全局环境中安装create-react-app npm install -g create-react-app 2.在您所需要的目录(盘)下生成一个项目 ...

  6. C# 获取系统所有字体

    获取已安装的所有字体列表 System.Drawing.FontFamily StringBuilder str = ); InstalledFontCollection fonts = new In ...

  7. Journal of Proteome Research | Single-Shot Capillary Zone Electrophoresis−Tandem Mass Spectrometry Produces over 4400 Phosphopeptide Identifications from a 220 ng Sample (分享人:赵伟宁)

    Title: Single-Shot Capillary Zone Electrophoresis−Tandem Mass Spectrometry Produces over 4400 Phosph ...

  8. 一个简单的方法去掉angular application中URLs的hashtag

    本文转载自:Pretty URLs in AngularJS: Removing the # By default, AngularJS will route URLs with a hashtag. ...

  9. SVN分支合并指南

    SVN分支合并主干具体操作步骤 1. 在装有svn插件的myeclipse中,在主干上选择需要合并的文件或文件夹, 右击--> team -->合并(merge) 2.选择合并类型--合并 ...

  10. [ex-kmp] HDU 2019 Multi-University Training Contest 5-string matching

    string matching Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others ...