REST framwork之分页器,路由器,响应器

一 REST framwork分页器:

from rest_framework.pagination import PageNumberPagination,LimitOffsetPagination

class PNPagination(PageNumberPagination):
        page_size = 1
        page_query_param = ‘page‘
        page_size_query_param = "size"
        max_page_size = 5

class BookViewSet(viewsets.ModelViewSet):

    queryset = Book.objects.all()
    serializer_class = BookSerializers
    def list(self,request,*args,**kwargs):

        book_list=Book.objects.all()
        pp=LimitOffsetPagination()
        pager_books=pp.paginate_queryset(queryset=book_list,request=request,view=self)
        print(pager_books)
        bs=BookSerializers(pager_books,many=True)

        #return Response(bs.data)
        return pp.get_paginated_response(bs.data)

二 路由器:

在view视图中我们已经将代码进行最大化的简化,但是有一个问题就是我们的urls 中不得不进行传参,以区别不同的GET请求,分别为:Retrieve与List

    url(r‘^authors/$‘, views.AuthorModelView.as_view({"get": "list", "post": "create"})),
    url(r‘^authors/(?P<pk>\d+)/$‘,views.AuthorModelView.as_view({"get": "retrieve", "put": "update", "delete": "destroy"})),

使用了REST framwork路由器:

三 响应器:

原文地址:https://www.cnblogs.com/zhangsanfeng/p/9432213.html

时间: 2024-10-26 16:41:24

REST framwork之分页器,路由器,响应器的相关文章

rest_framework中的url注册器,分页器,响应器

url注册器: 对于authors表,有两个url显得麻烦: rest_framework将我们的url进行了处理: 这样写了之后,就可以像原来一样访问author表了. 故意写错路径,看看它为我们做了哪些配置: 在有关author的路径中,只有1和3条url是和我们原来路径一样的,多了两条额外的url,对于这两条url,多了format的命名分组,我们可以这样访问: 也就是说,我们可以按照不同的编码格式进行访问. 分页器: 当我们的数据量巨大时,前端只想要某些数据,就可以利用分页来选取数据.

DRF Django REST framework 之 频率,响应器与分页器组件(六)

频率组件 频率组件类似于权限组件,它判断是否给予请求通过.频率指示临时状态,并用于控制客户端可以向API发出的请求的速率. 与权限一样,可以使用多个调节器.API可能会对未经身份验证的请求进行限制,而对于经过身份验证的请求则进行限制较少. 例如,可以将用户限制为每分钟最多60个请求,每天最多1000个请求. 自定义频率组件 使用方式与权限,认证组件几乎相同 该方式没有DRF提供的方式简洁 import time import math from rest_framework import exc

Django Rest Framework url注册器组件 | 响应器组件 | 分页器组件

文章参考博主:https://www.cnblogs.com/li-li/p/10103918.html 1.url注册器组件 : 通过DRF的视图组件,数据接口逻辑被我们优化到最后剩下一个类,接下来,我们使用DRF的url控制器来帮助我们自动生成url '''3.使用url注册器组件的url''' #导入模块 from rest_framework import routers router = routers.DefaultRouter() # 3.将需要自动生成url的接口注册到route

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

本节目录 一 认证组件 二 权限组件 三 频率组件 四 URL注册器 五 响应器 六 分页组件 七 xxx 八 xxx 一 认证组件 1. 局部认证组件 我们知道,我们不管路由怎么写的,对应的视图类怎么写的,都会走到dispatch方法,进行分发, 在咱们看的APIView类中的dispatch方法的源码中,有个self.initial(request, *args, **kwargs),那么认证.权限.频率这三个默认组件都在这个方法里面了,如果我们自己没有做这三个组件的配置,那么会使用源码中默

Django框架深入了解_04(DRF之url控制、解析器、响应器、版本控制、分页)

一.url控制 基本路由写法:最常用 from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^books/', views.Books.as_view()), url(r'^book/', views.Book.as_view()), url(r'^login/

Cisco-HSRP 热备份路由器协议-配置实例

同样的,首先做一些理论的扫盲.最起码要知道自己在配什么东西才行. 简介 HSRP(Hot StandbyRouter Protocol 热备份路由器协议)是Cisco的专有协议.HSRP把多台路由器组成一个"热备份组",形成一个虚拟路由器.这个组内只有一个路由器是Active(活动)的,并由它来转发数据包,如果活动路由器发生了故障,备份路由器将成为活动路由器.从网络内的主机来看,网关并没有改变. HSRP的工作过程 HSRP路由器利用Hello包来互相监听各自的存在.当路由器长时间没有

思科网络实验之通过telnet访问路由器

首先,想要通过telnet访问路由器,需要先通过console口对路由器进行基本配置,比如说ip地址.密码等等 如下图,是我搭建的一个实验拓扑(需要注意的是:pc和路由器间要用交叉线连接,然后进入接口模式把端口激活,图中显示为绿色的点为正常激活端口) 小插片(先知道需要这些操作): PC端需要的配置: ip地址及子网掩码.网关 路由器需要配置: (1)配置路由器以太网接口IP地址 (2)配置路由器密码(配置进入到路由器特权模式的密码,配置 vty 的密码,即               teln

利用路由器连接别人家的网络

在网上领得一款免费的路由器(斐讯活动),甚是欢喜,虽然还没有提到现.平时,不管到哪都是蹭别人的网,路由器有什么用?

猫、路由器、交换机和PC

转载:http://duanzw102.blog.163.com/blog/static/161838173201392431722650/ 猫是 modem,是有网络供应商,比如电信公司提供的拨号工具. 路由器,一般是Dlink或者TPlink之类,是用户自己在自己家庭组建局域网,多台电脑共用一条外部网线上网的分线工具. 交换机,主要只是用来增加端口数量的, 一般路由器仅仅提供4个内网端口,令有1个外网端口用,路由器可以当交换机用 1.猫跟路由器的区别 猫全名调制解调器,在中国是ADSL用户接