Django Rest_Framework Throttling 예외 메시지 다시 쓰기
CBV 모드에서 메시지 비정상 처리를 다시 작성합니다.
class OrderProcess(APIView):
# authentication_classes = [MyAuthentication, ]
# permission_classes = [MyPermissions, ]
#
throttle_classes = [MyThrottling, ]
def get(self, request, *args, **kwargs):
result = {
"id" : 1,
"name" : "rest_framework"
}
json_str = json.dumps(result, ensure_ascii=False, indent=4)
return HttpResponse(json_str)
def throttled(self, request, wait):
"""
,
"""
class Throttled(exceptions.Throttled):
"""
Throttled,
"""
default_detail = ' .'
extra_detail_singular = ' {wait} .'
extra_detail_plural = ' {wait} .'
raise Throttled(wait)
FBV 재작성 방법
FBV가 없습니다. 전역 재작성 방식을 참고하십시오
전역 재작성 방식
FBV 모드에서 CBV 전역 모드에서 메시지 비정상 처리를 다시 쓰기에 적합합니다.
4
from rest_framework.exceptions import Throttled
from rest_framework.views import exception_handler
def customize_exception_handler(exc, context):
"""
:param exc:
:param context:
:return:
"""
response = exception_handler(exc, context)
if isinstance(exc, Throttled):
detail = {
'message': ' .',
'availableIn': ' {wait} .'.fromat(wait=exc.wait)
}
response.data = detail
return response
4
REST_FRAMEWORK = {
'EXCEPTION_HANDLER': 'xxxxxx.customize_exception_handler'
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.