#普通分页fromrest_framework.paginationimportPageNumberPagination#fromrest_framework.versioningimportURLPathVersioning#classBook(ViewSetMixin,APIView):#版本控制局部使用#versioning_class=URLPathVersioning#defget_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##returnResponse(response)##会带着链接,和总共的条数(不建议用)#returnpage.get_paginated_response(ser.data)##returnResponse(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'],}