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


    昨日回顾:
        分页器:
            普通分页    
                # 普通分页
                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
  • 相关阅读:
    【转】修改mysql数据库的用户名和密码
    oracle 11g密码过期问题解决方法
    配置网络YUM源
    RedHat 7.0更新升级openSSH7.4p1
    Linux下端口被占用解决
    js function 中的返回值
    代码笔记1
    element模态框dialog中的select组件中选中无反应无显示
    vue如何使用rules对表单字段进行校验
    关于JSON.parse(JSON.stringify(obj))实现深拷贝应该注意的坑
  • 原文地址:https://www.cnblogs.com/cao123/p/10146513.html
Copyright © 2020-2023  润新知