0
制止我有一個看起來像這樣的觀點:超載錯誤信息從錯的GET請求
class Foo(APIView):
def get(self, request, format = None):
#...
所以我的問題很簡單:我怎麼重寫在POST-的情況下返回的錯誤信息請求?
制止我有一個看起來像這樣的觀點:超載錯誤信息從錯的GET請求
class Foo(APIView):
def get(self, request, format = None):
#...
所以我的問題很簡單:我怎麼重寫在POST-的情況下返回的錯誤信息請求?
首先,您需要重寫.post()
方法。根據您的視圖中的實現,您想要返回錯誤的位置,請返回Django Rest Framework的Response
而不是Django的HttpResponse
。
你最後的觀點可能看起來是這樣的:
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.status import HTTP_400_BAD_REQUEST
class Foo(APIView):
def post(self, request):
try:
# code that raises an error
except:
error_msg = {
'error': 'Your error message here.'
}
return Response(
data=error_msg, status=HTTP_400_BAD_REQUEST
)
也許我沒有解釋清楚的問題。我的基於類的視圖沒有任何後置方法。我想在有人試圖調用post-method時重寫Django的默認錯誤消息 - FOR WITH WITH GET-request –
要重寫post錯誤消息,您必須實現post方法 –