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

5

我希望返回不同于Django的HttpResponseBase类中所写的100 <= self.status_code <= 599的状态码。是否有任何简单的方法绕过此限制?


HTTP 状态代码有范围,例如 100-199 是信息,200-299 是成功,300-399 是重定向等。因此,返回此范围之外的状态代码并没有太多意义。特别是因为浏览器通常会在 301/302 的情况下进行重定向。 - Willem Van Onsem
1个回答

9

如果你真的想要,可以修改.status_code属性。例如使用以下代码:

from django.http import HttpResponse

def some_view(request):
    response = HttpResponse('some data')
    response<b>.status_code = 754</b>  # sample status code
    return response

如果指定在100-599范围之外的HTTP状态码,这并没有太多意义。因为HTTP状态码被分成不同的子范围,用于指定返回什么状态码的情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接