Ответ 1
Из моего предыдущего комментария:
Вы можете вернуть HttpResponseBadRequest
Кроме того, вы можете создать подкласс Exception, такой как Http404, чтобы иметь собственное исключение Http400.
Привет,
Я хочу вернуть ответ HTTP 400 из моей функции просмотра django, если данные запроса GET недействительны и не могут быть проанализированы.
Как мне это сделать? Кажется, что не существует соответствующего класса Exception
, например, для 404:
raise Http404
Из моего предыдущего комментария:
Вы можете вернуть HttpResponseBadRequest
Кроме того, вы можете создать подкласс Exception, такой как Http404, чтобы иметь собственное исключение Http400.
Привет,
Вы можете сделать следующее:
from django.core.exceptions import SuspiciousOperation
raise SuspiciousOperation("Invalid request; see documentation for correct paramaters")
SuspiciousOperation сопоставляется с ответом 400 вокруг строки 207 https://github.com/django/django/blob/master/django/core/handlers/base.py
Если вы используете Django Rest Framework, у вас есть два способа повышения ответа 400 в представлении:
from rest_framework.exceptions import ValidationError, ParseError
raise ValidationError
# or
raise ParseError