2017-02-09 6 views
0

У меня есть мнение, что выглядит следующим образом:Перегрузки сообщения об ошибке, вытекающем из неправильного GET-запрос

class Foo(APIView): 
    def get(self, request, format = None): 
     #... 

Так что мой вопрос очень прост: как я переопределять сообщение об ошибке, которое возвращается в случае пост- запрос?

ответ

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

Возможно, я не смог объяснить этот вопрос ясно. В моем представлении на основе классов нет ЛЮБОГО пост-метода. И я хочу переопределить сообщение об ошибке Django по умолчанию, когда кто-то пытается вызвать пост-метод - ДЛЯ ПРОСМОТРА С ТОЛЬКО GET-запросом –

+0

Чтобы переопределить сообщение об ошибке сообщения, вам придется реализовать метод post –

Смежные вопросы