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

Posted cao123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分页器和版本控制的总结使用相关的知识,希望对你有一定的参考价值。

昨日回顾:
    分页器:
        普通分页    
            # 普通分页
            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

 

以上是关于分页器和版本控制的总结使用的主要内容,如果未能解决你的问题,请参考以下文章

Django分页器和自定义分页器

带有分页器和文章的嵌套类别的 SEO 路由

Django组件——分页器和中间件

片段被视图分页器布局切割

无法使用回收视图在 ScrollVIew/NestedScrollView 内滚动 ViewPager

python学习第九十九天:版本控制 渲染器 分页器