注册器

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

  

第一步:导入模块
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. 数据结构_我不会AVL_wbhavl

    问题描述 欢迎来到暴走数据结构,我是洪尼玛.今天,我们来玩 AVL 树,怎么玩呢? 很简单:给你 n 个数字,你需要按顺序插入一棵 AVL树中,然后输出每个数所在节点的深度(从 1 开始).因为我不会 ...

  2. 从字符串中获取XML节点数据

    从字符串中获取XML节点数据,前一篇<字符串创建XML文档> http://www.cnblogs.com/insus/p/3298579.html 是储存为一个XML文档.现在,Insu ...

  3. 网易CentOS yum源

    wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

  4. Tomcat—Bad Request

    前段时间,由于搭建环境的问题,项目暂停了一个多月,终于再次拿起来了,可是历史问题还是没有解决,再次让问题重现了一把. 上面的图片的大概意思就是:错误请求(无效主机名称)     看到这个,我一开始是兴 ...

  5. 二维树状数组总结&&【洛谷P4514】 上帝造题的七分钟

    P4514 上帝造题的七分钟 题目描述 "第一分钟,X说,要有矩阵,于是便有了一个里面写满了00的n×mn×m矩阵. 第二分钟,L说,要能修改,于是便有了将左上角为(a,b)(a,b),右下 ...

  6. luogu3911 最小公倍数之和(莫比乌斯反演)

    link 给定\(A_1,A_2,\dots,A_N\),求\(\sum_{i=1}^N\sum_{j=1}^Nlcm(A_i,A_j)\) \(1\le N\le 50000;1\le A_i\le ...

  7. 17.Merge Two Binary Trees(合并两个二叉树)

    Level:   Easy 题目描述: Given two binary trees and imagine that when you put one of them to cover the ot ...

  8. 使用instsrv.exe和srvany.exe将应用程序安装成windows后台服务

    好的参考链接: http://www.jb51.net/softjc/374631.html 利用这两个工具,将 exe程序或者 bat文件,做成Windows后台服务.

  9. HashMap 1.8的源码分析一

    public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, ...

  10. html表单笔记

    1.下面是 <form> 属性的列表: accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集). action 规定向何处提交表单的地址(URL)(提交页面). ...