在 urls.py django 中提高 404 而不是 500
我有一个由 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
通过使用自定义 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.
您是否创建了
404.html
模板?当您的settings.py
中有DEBUG = False
,但尚未创建404.html
模板时,就会发生这种情况。这会引发TemplateDoesNotExist
异常,因此会出现错误 500 响应。Have you created a
404.html
template? This happens when you haveDEBUG = False
in yoursettings.py
, yet you haven't created a404.html
template. This raises aTemplateDoesNotExist
exception, hence the error 500 response.转到您的视图,在 try except 块中执行所有获取/过滤操作。
go to your views, perform all the get/filter operations within a try except block.