如何在 Django 中返回自定义响应/状态代码?

Pyt*_*bie 5 django http status http-status-codes

我想返回100 <= self.status_code <= 599与 Django 的 HttpResponseBase类中编写的不同的状态代码。有什么简单的方法可以绕过这个限制吗?

Wil*_*sem 9

如果您确实愿意,您可以修补该.status_code属性。例如:

from django.http import HttpResponse

def some_view(request):
    response = HttpResponse('some data')
    response.status_code = 754  # sample status code
    return response
Run Code Online (Sandbox Code Playgroud)

但是指定 100-599 范围之外的HTTP 状态代码 [wiki]没有多大意义,因为这些状态代码被细分为子范围,指定在什么情况下返回什么状态代码。