Rest_Framework--versioning

版本控制
版本控制有利于我们根据客户端的版本不同做出不同的处理
url.py
from django.conf.urls import url, include
from web.views import TestView

urlpatterns = [
    url(r'^(?P<version>[v1|v2]+)/test/', TestView.as_view(), name='test'),#允许版本v1和版本v2共存
]
settings.py
REST_FRAMEWORK = {
# 默认使用的版本控制类
'DEFAULT_VERSIONING_CLASS':'rest_framework.versioning.URLPathVersioning' ,
# 默认版本 
'DEFAULT_VERSION': 'v1', 
# 允许的版本 '
'ALLOWED_VERSIONS': ['v1', 'v2'], 
# URL中使用的参数名称
'VERSION_PARAM': 'version' 
}
views.py
from rest_framework.versioning import QueryParameterVersioning,URLPathVersioning

class  TextView(APIView):
    def get(self,request,*args,**kwargs):
        vertion = request.vertion
        return Httpresponse("成功")
版本传参有两种方式:第一种在url中的?后边传版本,使用QueryParameterVersioning这个类
          第二种在url中传版本:使用URLPathVersioning 这个类
 

posted @ 2020-12-13 16:26  盲仔不瞎忙  阅读(65)  评论(0编辑  收藏  举报