Django REST 프레임워크 섹션 0--------- 버전

6554 단어 DjangoRESTframework


  • 버전 구성 요소는 인증, 권한, 절약 전에


  • 1, 사용자 정의 클래스는 get을 통해 버전을 가져옵니다
    class ParamVision():
    	def determine_version(self,request,*args,**kwargs):
    		version=request.query_params.get('version')
    		return version
    class UserView(APIView):
    	versioning_class=ParamVision
    	print(request.version)
    	return HttpResponse('       ')
    

    둘째, 내장된 클래스를 이용하여 get을 통해 버전을 전송합니다
    from rest_framework.versioning import QueryParameterVersioning
    class UserView(APIView):
    	versioning_class=QueryParameterVersioning
    	print(request.version)
    	return HttpResponse('       ')
    
    
    #setting      
    REST_FRAMEWORK = {
    	"DEFAULT_VERSION":"v1"   #    v1(         ),
    	"ALLOWED_VERSION":["v1","v2"],  #     ,            
    	"VERSION_PARAM":"VERSION"   #     
    	}
    

    셋째, 내장된 클래스를 이용하여 URL을 통해 버전을 전송한다(전역 설정에 자주 사용)
    라우팅과 함께 사용하기
    urlpatterns=[
    	url(r'^api/(?P<version>[v1|v2]+)/users/$,views.UsersView.as_view())
    ]
    
    
    from rest_framework.versioning import URLPathVersioning
    
    
    class UserView(APIView):
    	print(request.version)
    	return HttpResponse('       ')
    
    REST_FRAMEWORK = {
        "DEFAULT_VERSIONING_CLASS""rest_framework.versioning.URLPathVersioning",
        "DEFAULT_VERSION":"v1",   #    v1(         ),
    	"ALLOWED_VERSION":["v1","v2"],  #     ,            
    	"VERSION_PARAM":"VERSION",   #     
        }
    

    좋은 웹페이지 즐겨찾기