温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

rest_framework分页,版本控制

发布时间:2020-07-10 05:20:07 来源:网络 阅读:306 作者:fushuanglin 栏目:编程语言
# 普通分页
from rest_framework.pagination import PageNumberPagination

# from rest_framework.versioning import URLPathVersioning

# class Book(ViewSetMixin, APIView):
    #版本控制局部使用
    # versioning_class = URLPathVersioning
#     def get_all(self, request,*args,**kwargs):
# 提供给咱的解析
#         url2=request.versioning_scheme.reverse('ttt',request=request)
#         print(url2)#获取到带有版本号的ip地址
#         response = {'status': 100, 'msg': '查询成功'}
#         book_list = models.Book.objects.all()
#         # 实例化产生一个分页对象
#         # 不继承来修改对象的值
#         page=PageNumberPagination()
#         # 每页显示多少条
    #     page_size = 3
    #     # 查询的key,问号后面的key
    #     page_query_param = 'aa'
    #     # 指定当前页显示多少条
    #     page_size_query_param='size'
    #     # 每页最多显示多少条
    #     max_page_size=4
#         # 第一个参数:要分页的数据,第二个参数request对象,第三个参数,当前视图对象
#         page_list = page.paginate_queryset(book_list, request, self)
#         # 再序列化的时候,用分页之后的数据
#         ser = mySer.BookSerializer(instance=page_list, many=True)
#         # response['data'] = ser.data
#         # return Response(response)
#         # 会带着链接,和总共的条数(不建议用)
#         return page.get_paginated_response(ser.data)
#         # return Response(ser.data)


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


在setting中---------------------------------------------------------------------------------------------



REST_FRAMEWORK = {
   

    # 'DEFAULT_VERSIONING_CLASS':'rest_framework.versioning.URLPathVersioning',#版本控制全局使用
    # 'VERSION_PARAM': 'version',
    # 'DEFAULT_VERSION': 'v1',
    # 'ALLOWED_VERSIONS': ['v1', 'v2'],

 
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI