DRF之版本控制

版本控制

  • 自定义版本控制类
        class ParmasVersion(object):
            def determine_version(self, request, *args, **kwargs):
                version = request.query_params.get('version')
                return version
  • 使用(局部)
        class VersionView(APIView):
            #设置获取版本的类
            versioning_class = ParmasVersion
  • 全局设置
         'DEFAULT_VERSIONING_CLASS':'unitls.version.ParmasVersion',
  • 使用 DRF内置的版本控制类QueryParameterVersioning(局部)
        from rest_framework.versioning import QueryParameterVersioning
        class VersionView(APIView):
            #设置获取版本的类
            versioning_class = QueryParameterVersioning
  • 设置文件中的配置信息
        REST_FRAMEWORK = {
            'VERSION_PARAM':'version',
            'DEFAULT_VERSION':'v1',
            'ALLOWED_VERSIONS':['v1','v2'],
        }
  • 全局设置
REST_FRAMEWORK = {
            'VERSION_PARAM':'version',
            'DEFAULT_VERSION':'v1',
            'ALLOWED_VERSIONS':['v1','v2'],
            'DEFAULT_VERSIONING_CLASS':'rest_framework.versioning.QueryParameterVersioning',
        }
  • 使用 DRF内置的版本控制类URLPathVersioning(局部)
from rest_framework.versioning import URLPathVersioning
        class VersionView(APIView):
            #设置获取版本的类
            versioning_class = URLPathVersioning
  • 如果使用URLPathVersioning,路由格式如下
 url(r"^(?P[v1|v2]+)/version/",VersionView.as_view(),name='vvvv')

你可能感兴趣的:(DRF之版本控制)