Các câu trả lời khác hầu hết đều hoạt động, nhưng chúng không tạo ra phản hồi HTTP 204 tuân thủ hoàn toàn, vì chúng vẫn chứa tiêu đề nội dung. Điều này có thể dẫn đến cảnh báo WSGI và được chọn bởi các công cụ kiểm tra như Kiểm tra web Django.
Đây là một lớp cải tiến cho phản hồi HTTP 204 tuân thủ. (dựa trên vé Django này ):
from django.http import HttpResponse
class HttpResponseNoContent(HttpResponse):
"""Special HTTP response with no content, just headers.
The content operations are ignored.
"""
def __init__(self, content="", mimetype=None, status=None, content_type=None):
super().__init__(status=204)
if "content-type" in self._headers:
del self._headers["content-type"]
def _set_content(self, value):
pass
def _get_content(self, value):
pass
def my_view(request):
return HttpResponseNoContent()