#django #http #http-status-codes #status
#django #http #http-status-codes #Статус
Вопрос:
Я хочу вернуть код состояния, отличный от 100 <= self.status_code <= 599
, написанного в классе HttpResponseBase Django. Есть ли какой-нибудь простой способ обойти это ограничение?
Комментарии:
1. HTTP-коды имеют диапазоны, например, 100-199 — это информация, 200-299 — это успех, 300-399 — перенаправление и т.д. Поэтому нет особого смысла возвращать код состояния за пределами этого диапазона. Тем более, что браузер обычно перенаправляет, например, в случае 301/302.
Ответ №1:
Вы можете, если действительно хотите, исправить .status_code
атрибут. Например, с:
from django.http import HttpResponse
def some_view(request):
response = HttpResponse('some data')
response.status_code = 754 # sample status code
return response
Но не имеет особого смысла указывать код состояния HTTP [wiki] за пределами диапазона 100-599, поскольку они подразделяются на поддиапазоны, которые указывают, в каком случае возвращать какой код состояния.