• 分页器和版本控制的总结使用


    昨日回顾:
        分页器:
            普通分页    
                # 普通分页
                from rest_framework.pagination import PageNumberPagination
                -每页的大小(默认)
                -查询的时候,按哪个字段查
                -当前页的每页大小(用户指定的)
                -每页显示最大条数
                -写一个类继承分页类,重写属性
                -使用的时候:
                    -实例化出一个分页器对象
                    -返回值=对象.paginate_queryset(book_list, request, self)
                    -序列化(返回值)
                    -return序列化之后的值
            偏移分页
                # 偏移分页
                from rest_framework.pagination import LimitOffsetPagination
                -每页的大小:default_limit
                -标杆值offset
                -偏移值limit
                -最大偏移的数:max_limit
            加密分页(速度快)
                # 加密分页
                from rest_framework.pagination import CursorPagination
                -写一个类继承分页类,重写属性
                -cursor_query_param:以该字段配置的值查询
                -ordering 按哪个字段排序
        版本控制:
            -URLPathVersioning
                -版本直接放在路由中,配置路由
                    url(r'^(?P<version>[v1|v2|v3]+)/books/$', views.Book.as_view({'get':'get_all'}),name='ttt'),
                -在setting中配置
                    'VERSION_PARAM':'version',   #根据哪个键取查询
                    'DEFAULT_VERSION':'v1',      #默认的版本号
                    'ALLOWED_VERSIONS': ['v1', 'v2'],   #允许的版本号
                -在视图类中:局部使用
                    versioning_class = URLPathVersioning
                    -在request对象中,可以取出版本request.version
                -反向解析
                    -因为request对象能取出版本号,内部自动填入
                    -url2=request.versioning_scheme.reverse('ttt',request=request)
                    -如果是路由有别的有名/无名分组,需要手动传过去
            -QueryParameterVersioning
  • 相关阅读:
    [GXYCTF2019]BabyUpload
    [GYCTF2020]Blacklist
    [极客大挑战 2019]HardSQL
    PHP实现MVC框架路由功能模式
    色环电阻的阻值识别
    python的内存回收机制
    配置Openfiler做ISCS实验
    windows server 2008r2 在vmware里自动关机
    VMware Workstation网络修改vlan id值
    linux的服务自动启动的配置
  • 原文地址:https://www.cnblogs.com/cao123/p/10146513.html
Copyright © 2020-2023  润新知