Django 重载错误消息源于错误的GET请求
我有这样一个观点:Django 重载错误消息源于错误的GET请求,django,django-rest-framework,Django,Django Rest Framework,我有这样一个观点: class Foo(APIView): def get(self, request, format = None): #... 所以我的问题很简单:如何覆盖POST请求时返回的错误消息?首先,您需要覆盖.POST()方法。根据视图中的实现,如果要返回错误,请返回Django Rest框架,而不是Django的HttpResponse 您的最终视图可能类似于: from rest_framework.views import APIView from r
class Foo(APIView):
def get(self, request, format = None):
#...
所以我的问题很简单:如何覆盖POST请求时返回的错误消息?首先,您需要覆盖
.POST()
方法。根据视图中的实现,如果要返回错误,请返回Django Rest框架,而不是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方法。当有人试图调用post方法时,我想覆盖Django的默认错误消息——对于只有GET请求的视图,要覆盖post错误消息,必须实现post方法