在 urls.py django 中提高 404 而不是 500

发布于 2024-12-08 15:31:57 字数 219 浏览 1 评论 0原文

我有一个由 django 提供支持的网站。有一些我没有发现的 url 模式 说 www.mysite.com/12233445 www.mysite.com/@##$$$ www.mysite.com/alphabetagamma 这导致到 500 错误页面,我希望所有此类非标准 url 重定向到 404 错误页面。有什么线索是最好的方法吗?

I have a website powered by django. There are few url patterns which i donot catch
say www.mysite.com/12233445 www.mysite.com/@##$$$ www.mysite.com/alphabetagamma this leads to 500 error page, i want all such non-standard urls to redirect to 404 error page. Any clue which is the best method of doing it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

旧时模样 2024-12-15 15:31:57

通过使用自定义 handler500¶,您可以将响应状态代码从 500 更改为 404。让您的项目返回这篇文章可能会帮助您了解如何执行此操作 - http://ilian.ini.org/custom-404-not-found-page-with-django-cms/

但正如@Daniel所说,获得 500 是不正常的未找到页面。打开调试模式,检查什么错误导致500。

By using custom handler500¶ you can change the response status code from 500 to 404. make your project to return this post may help you get the idea how to do it - http://ilian.i-n-i.org/custom-404-not-found-page-with-django-cms/

But as @Daniel said it isn't normal to get 500 for not found pages. Turn on the debug mode and check what error leads to 500.

世界和平 2024-12-15 15:31:57

您是否创建了 404.html 模板?当您的 settings.py 中有 DEBUG = False,但尚未创建 404.html 模板时,就会发生这种情况。这会引发 TemplateDoesNotExist 异常,因此会出现错误 500 响应。

Have you created a 404.html template? This happens when you have DEBUG = False in your settings.py, yet you haven't created a 404.html template. This raises a TemplateDoesNotExist exception, hence the error 500 response.

り繁华旳梦境 2024-12-15 15:31:57

转到您的视图,在 try except 块中执行所有获取/过滤操作。

try:

variable = object.get(some checks here)

except: object.DoesNotExist
 raise Http404

return (whatever)

go to your views, perform all the get/filter operations within a try except block.

try:

variable = object.get(some checks here)

except: object.DoesNotExist
 raise Http404

return (whatever)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文