2017-02-09 33 views

回答

0

首先,您需要重寫.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 
      ) 
+0

也許我沒有解釋清楚的問題。我的基於類的視圖沒有任何後置方法。我想在有人試圖調用post-method時重寫Django的默認錯誤消息 - FOR WITH WITH GET-request –

+0

要重寫post錯誤消息,您必須實現post方法 –