美文网首页
DRF之版本控制

DRF之版本控制

作者: 浮华_e823 | 来源:发表于2019-08-04 20:21 被阅读0次

版本控制

  • 自定义版本控制类
        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<version>[v1|v2]+)/version/",VersionView.as_view(),name='vvvv')

相关文章

网友评论

      本文标题:DRF之版本控制

      本文链接:https://www.haomeiwen.com/subject/okaydctx.html