Django之404500400错误处理

Posted pythonclub

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django之404500400错误处理相关的知识,希望对你有一定的参考价值。

要自定义处理url请求错误需要进行三步操作:
主要错误有:
404错误:page not found视图
500错误:server error视图
400错误:bad request视图

以404错误为例,500、404同理
我这里创建了一个应用,名为booktest

Step1:修改settings.py
DEBUG = True —-改为—-> DEBUG = False
ALLOWED_HOSTS = [] —-改为—-> ALLOWED_HOSTS = [‘*’, ]
注:未更改将显示调试视图,而不是错误视图

Step2:创建模板文件
在templates目录下的booktest下创建404.html

<!DOCTYPE html>
<html>
<head>
    <title>404</title>
</head>
<body>
自定义404处理
<hr>
网页找不到
</body>
</html>

  

Step3:修改views.py文件

添加函数 page_not_found()

def page_not_found(request):return render(request, ‘booktest/404.html‘)

 

Step4:修改项目下的urls.py(框架自带的)

注:不是应用下的urls.py,即这里不是:booktest/urls.py 
添加代码:

 

urlpatterns = [

    url(r‘^admin/‘, include(admin.site.urls)),

    url(r‘^‘, include(‘booktest.urls‘)),

]

handler404 = "booktest.views.page_not_found"

即:handler404 = “应用名称.views.函数名称” 
同理: 
handler500 = “应用名称.views.函数名称” 
handler404 = “应用名称.views.函数名称”

 

 

 

Step3:修改views.py文件添加函数 page_not_found()
def page_not_found(request):    return render(request, ‘booktest/404.html‘)12Step4:修改项目下的urls.py(框架自带的)注:不是应用下的urls.py,即这里不是:booktest/urls.py 添加代码:
urlpatterns = [    url(r‘^admin/‘, include(admin.site.urls)),    url(r‘^‘, include(‘booktest.urls‘)),]handler404 = "booktest.views.page_not_found"12345即:handler404 = “应用名称.views.函数名称” 同理: handler500 = “应用名称.views.函数名称” handler404 = “应用名称.views.函数名称”
请求一个不存在的url:--------------------- 作者:GYT0313 来源:CSDN 原文:https://blog.csdn.net/qq_38038143/article/details/80105653 版权声明:本文为博主原创文章,转载请附上博文链接!

















以上是关于Django之404500400错误处理的主要内容,如果未能解决你的问题,请参考以下文章

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

django 框架模型之models常用的Field,及常见错误原因及处理方案。

Django 05. django框架模型之models常用字段属性及异常处理

Django之View(视图)

如何在 Django Summernote 中显示编程片段的代码块?

django基础知识之验证码: