developer tip

Django 뷰에서 HTTP 상태 코드 204를 반환하려면 어떻게해야합니까?

optionbox 2020. 11. 13. 08:03
반응형

Django 뷰에서 HTTP 상태 코드 204를 반환하려면 어떻게해야합니까?


204 No ContentDjango 뷰에서 상태 코드를 반환하고 싶습니다 . 데이터베이스를 업데이트하는 자동 POST에 대한 응답으로 클라이언트를 리디렉션하지 않고 업데이트가 성공했음을 나타내기만하면됩니다.

HttpResponse대부분의 다른 코드를 처리 하는 하위 클래스가 있지만 204는 없습니다.

이를 수행하는 가장 간단한 방법은 무엇입니까?


return HttpResponse(status=204)

Steve Mayne이 대답 한 내용 중 하나이거나 HttpResponse를 하위 클래스로 지정하여 직접 빌드합니다.

from django.http import HttpResponse

class HttpResponseNoContent(HttpResponse):
    status_code = 204

def my_view(request):
    return HttpResponseNoContent()

사용하는 경우 렌더링 하는이 status키워드 인수입니다.

return render(request, 'template.html', status=204)

(상태 204의 경우 응답 본문이 없어야하지만이 메서드는 다른 상태 코드에 유용합니다.)


를 반환 render()하는 경우 Django 문서에 따라 선택적 매개 변수로 render()취하고 기본값 은 200입니다.status

따라서 사용자 지정 상태를 반환하려면 다음을 사용하십시오.

def my_view(request):
    return render(request,
                  'your-template.html',
                   context=your_context,
                   status=204) # your custom status in this case 204

참고 URL : https://stackoverflow.com/questions/12476452/how-can-i-return-http-status-code-204-from-a-django-view

반응형