版本控制
版本控制有利于我们根据客户端的版本不同做出不同的处理
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 这个类