• 分页器 版本控制


    分页器

    三种分页:

    第一种:

    类似于原来django中的分页
    -page_size = api_settings.PAGE_SIZE
    -page_query_param = 'page'
    -page_size_query_param
    -max_page_size




    第二种:偏移分页

    #每页显示的条数
    default_limit = api_settings.PAGE_SIZE
    #标杆值
    offset_query_param = 'offset'
    #往后偏移多少
    limit_query_param = 'limit'
    #每页显示最大的条数    
    max_limit = None



    ****要取的条数,如果超过了,还剩多少,就显示多少

    第三种:加密分页(查询速度快)

    #按nid排序
    page.ordering = 'nid'
    #查询的key值
    cursor_query_param = 'cursor' 
    #每页显示多少条
    page_size = api_settings.PAGE_SIZE



    使用:

    -生成一个对象(普通,偏移,加密)
    --***重点:可以修改对象的属性
    -ret=对象.paginate_queryset(book_list, request, self)
    
    -丢到序列化类中,完成序列化,
    -最后返回

    版本控制


    掌握的:URLPathVersioning


    -在setting中配置:

    'VERSION_PARAM':'version',
    'DEFAULT_VERSION':'v1',
    'ALLOWED_VERSIONS': ['v1', 'v2'],

    -局部使用:

    versioning_class = URLPathVersioning

    -全局使用:

    'DEFAULT_VERSIONING_CLASS':'rest_framework.versioning.URLPathVersioning',

    -路由配置:

    url(r'^(?P<version>[v1|v2|v3]+)/books/$', views.Book.as_view({'get':'get_all'}),name='ttt'),


    -在视图类中的request对象中,就可以取出版本号
    -反向解析:

    url2=request.versioning_scheme.reverse('ttt',request=request) 



  • 相关阅读:
    JavaScript之DOM
    MapReduce多种join实现实例分析(一)
    JavaScript的文档对象模型DOM
    JavaScript原生实现观察者模式
    Idea环境下git 图形化操作
    一分钟教你如何实现唯美的文字描边
    Redis集群
    JAVA线程池的实际运用
    Java 线程池(ThreadPoolExecutor)原理解析
    win7开始菜单路径
  • 原文地址:https://www.cnblogs.com/ouyang99-/p/10160383.html
Copyright © 2020-2023  润新知