Ответ 1
return HttpResponse(status=204)
Я хочу вернуть код состояния 204 No Content
из представления Django. Это ответ на автоматический POST, который обновляет базу данных, и мне просто нужно указать, что обновление прошло успешно (без перенаправления клиента).
Существуют подклассы HttpResponse
для обработки большинства других кодов, но не 204.
Каков самый простой способ сделать это?
return HttpResponse(status=204)
Или то, что ответил Стив Мейн, или создайте свой собственный, подклассифицируя HttpResponse:
from django.http import HttpResponse
class HttpResponseNoContent(HttpResponse):
status_code = 204
def my_view(request):
return HttpResponseNoContent()
При использовании render существует аргумент ключевого слова status
.
return render(request, 'template.html', status=204)
(Обратите внимание, что в случае статуса 204 не должно быть тела ответа, но этот метод полезен для других кодов состояния.)