注册器

  注册器的作用就是以后我们不用自己手动的一条条的敲路径了,它可以帮助哦们直接去找对应的路由,不用传参了,知道这一点就可以了,不多说还是,上代码实例

  

第一步:导入模块
from django.urls import re_path,include
from rest_framework import routers
第二步:实例化一个router对象
router = DefaultRouter()
第三步:将需要自动生成url的接口注册到router中
router.register(r'books', views.BookView)
第四步:生成url
urlpatterns = [
re_path(r'^', include('router.urls')),
]
#这样,就相当于我们前几天写的各种get,post,put...请求的路由了

响应

  其实,刚接触响应器的时候我也搞不清楚这个响应器有什么用,毕竟它太简单了,刚开始接触就是响应json数据嘛,经过一段时间的反复思考,得到了一个结论,这其中包含了各种看源码之类的复杂且幔帐的过程,奥,原来我们使用DRF的Response类来将数据响应给客户端,不管是POSTMAN还是浏览器,都能浏览到经过格式化后的漂亮的数据,DRF是怎么做的呢?其实就是通过响应器组件,现在知道了嘛?

分页器

  分页器,可以说开发环境中用得比较多一些的作用,django中给我们封装了分页功能,不过过程中有些繁琐,需要我们写一些代码,但是DRF中分页,可以说是简单的版本,咱们可以对比一些

  

第一步:导入模块

from rest_framework.pagination import PageNumberPagination
第二步:获取数据 books = Book.objects.all()
第三步:创建分页器 paginater = PageNumberPagination()
第四步:开始分页
paged_books = paginater.paginate_queryset(books, request)
第五步:将分页后的数据进行序列化 serialized_data = BookSerializer(paged_books, many=True)
第六步:返回数据 return Response(serialized_data.data)

#我们的主要逻辑

from rest_framework.pagination import PageNumberPagination

class MyPagination(PageNumberPagination):
page_size = 3
page_query_param = 'page'
page_size_query_param = 'size'
max_page_size = 5 #page_size:用来控制每页显示多少条数据(全局参数名为#PAGE_SIZE);
#page_query_param:用来提供直接访问某页的数据;
#page_size_query_param:临时调整当前显示多少条数据
#max_page_size:控制page_size_query_param参数能调整的最大条数

  现在,经过导入把分页类在我们BookView中指定

    

class BookView(ModelViewSet):
# 第二步:指定认证类
pagination_class = app_paginates.MyPagination queryset = Book.objects.all()
serializer_class = BookSerializer

    

DRF之注册响应分页组件的更多相关文章

  1. asp.mvc中的vue分页实例,分页组件无法重置reload,解决点击查询按钮后,分页不刷新的问题

    刚刚接触Vue.js,现在需要做一个查询功能,并且进行服务端分页.主要思路是在页面中注册一个分页组件,然后进行调用.代码如下 1.引用vue.js,具体去网上下载 2.在html的body中添加如下代 ...

  2. DjangoRestFramework学习三之认证组件、权限组件、频率组件、url注册器、响应器、分页组件

    DjangoRestFramework学习三之认证组件.权限组件.频率组件.url注册器.响应器.分页组件   本节目录 一 认证组件 二 权限组件 三 频率组件 四 URL注册器 五 响应器 六 分 ...

  3. day91 DjangoRestFramework学习三之认证组件、权限组件、频率组件、url注册器、响应器、分页组件

    DjangoRestFramework学习三之认证组件.权限组件.频率组件.url注册器.响应器.分页组件   本节目录 一 认证组件 二 权限组件 三 频率组件 四 URL注册器 五 响应器 六 分 ...

  4. day 89 DjangoRestFramework学习三之认证组件、权限组件、频率组件、url注册器、响应器、分页组件

    DjangoRestFramework学习三之认证组件.权限组件.频率组件.url注册器.响应器.分页组件   本节目录 一 认证组件 二 权限组件 三 频率组件 四 URL注册器 五 响应器 六 分 ...

  5. DRF 分页组件

    Django Rest Framework 分页组件 DRF的分页 为什么要使用分页 其实这个不说大家都知道,大家写项目的时候也是一定会用的, 我们数据库有几千万条数据,这些数据需要展示,我们不可能直 ...

  6. DRF分页组件

    为什么要使用分页 其实这个不说大家都知道,大家写项目的时候也是一定会用的, 我们数据库有几千万条数据,这些数据需要展示,我们不可能直接从数据库把数据全部读取出来, 这样会给内存造成特别大的压力,有可能 ...

  7. drf框架中分页组件

    drf框架中分页组件 普通分页(最常用) 自定制分页类 pagination.py from rest_framework.pagination import PageNumberPagination ...

  8. DRF框架(八)——drf-jwt手动签发与校验、搜索过滤组件、排序过滤组件、基础分页组件

    自定义drf-jwt手动签发和校验 签发token源码入口 前提:给一个局部禁用了所有 认证与权限 的视图类发送用户信息得到token,其实就是登录接口,不然进不了登录页面 获取提交的username ...

  9. DRF框架(九)——drf偏移分页组件、drf游标分页组件(了解)、自定义过滤器、过滤器插件django-filter

    drf偏移分页组件 paginations.py from rest_framework.pagination import LimitOffsetPagination class MyLimitOf ...

随机推荐

  1. Spark 1.4.1中Beeline使用的gc overhead limit exceeded

    最近使用SparkSQL做数据的打平操作,就是把多个表的数据经过关联操作导入到一个表中,这样数据查询的过程中就不需要在多个表中查询了,在数据量大的情况下,这样大大提高了查询效率.   我启动了thri ...

  2. win10和ubuntu双系统下卸载ubuntu

    1.进入win10 2.下载EasyBCD,360软件管家里面有,version=2.2 3.启动软件,工具箱里面选择“BCD部署”→MBR配置选项中选“在MBR中安装Windows Vista/7的 ...

  3. iframe加载的文档高度

    var clientHeight = $("#iframe").contents().find("body").height();

  4. 文本PDG文件名构成

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2008.08.03 文本PDG的构成规则为:<前缀><起始页号>_<页数>.pdg 前缀 ...

  5. “网易大数据讲堂第一期:数说”直播活动资料:课程回放收看及PPT下载

    欢迎访问网易云社区,了解更多网易技术产品运营经验. "网易大数据讲堂第一期:数说"直播活动昨晚顺利举行.感谢各位"数"友的支持和参与. 本次活动PPT可点击这里 ...

  6. Linux计划任务 定时任务 Crond 配置详解 crond计划任务调试 sh -x 详解 JAVA脚本环境变量定义

    一.Crond 是什么?(概述) crontab 是一款linux系统中的定时任务软件用于实现无人值守或后台定期执行及循环执行任务的脚本程序,在企业中使用的非常广泛.     现在开始学习linux计 ...

  7. 【Python发展】pandas和koalas

    1.pandas介绍 Python 数据科学在过去几年中爆炸式增长, pandas 已成为生态系统的关键.当数据科学家得到一个数据集时,他们会使用 pandas 进行探索.它是数据处理和分析的终极工具 ...

  8. 青橙 A1255. 拉拉队排练(陶文博)

    A1255. 拉拉队排练(陶文博) 时间限制:1.0s   内存限制:512.0MB   总提交次数:   AC次数:   平均分:   将本题分享到:        查看未格式化的试题   提交   ...

  9. win10系统重装

    问题描述 win10开启热点网卡坏了,没折腾好.然后把系统网卡折腾坏了. 所以重装了系统,写下我的环境从零到晚上的过程 1安装系统 用WePE安装win10,镜像采用:cn_windows_10_en ...

  10. C++基础学习8:类的定义(class)

    先来说说C和C++中结构体的不同 a) C语言中的结构体不能为空,否则会报错(??) b) C语言中内存为空结构体分配大小为0,C++中为结构体和类分配大小为1byte c) C语言中的结构体只涉及到 ...