python - 如何在 Django 中引发 410 错误

标签 python django error-handling httpresponse http-status-code-410

我想为我的一些 Django 页面返回 410 错误,而不是返回 404。基本上,我不想调用 raise Http404('some error message'),而是调用 raise Http410('some error message') 快捷方式。

我很困惑,因为在 django.http 中,函数 Http404 很简单:

class Http404(Exception):
    pass

因此,如果我做同样的事情并创建我的 Http410 函数,我会假设它看起来像:

class Http410(Exception):
    pass

但是,这样做会返回异常,但会提供 500 错误页面。如何重现 Http404 异常的魔力?我应该注意,我需要从我的模型(而不是 View )中引发异常,所以我不能只返回一个 HttpResponseGone。

提前致谢!

更新: 我完全了解 HttpResponseGone 并在我最初的问题中提到了这一点。我已经知道如何在我的 View 中返回它。我的问题是:如何像引发 Http 404 异常一样引发 Http 410 异常?我希望能够在任何地方提出这个异常(exception),而不仅仅是在我看来。谢谢!

最佳答案

from django.http import HttpResponse
return HttpResponse(status=410)

关于python - 如何在 Django 中引发 410 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4208572/

相关文章:

python - "DRF Throttling"和 "Django Axes"有什么不同

django - django.contrib.auth.login 和 django.contrib.auth.views.login 之间的区别

python - Django:如何模拟慢速服务器?

python - Django RegexValidator 不显示消息

C++ "system"调用不返回正确的退出代码

python - 为什么出现此错误(程序因使用13 cpu秒而关闭)

c# - 未找到 View 'Error' 或其主视图 - web.config 未指定错误 View

javascript - 如何在IE8中包装attachEvent

python - LEFT JOIN python中基于值的字典

python - Django 1.10 : base_site. html 覆盖不起作用