• Django之404、500、400错误处理


    要自定义处理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 版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    转载-python生成sjf
    111111111111
    【MySQL】使用硬链接的方式删除大表
    【Python】公共类-获取MySQL数据
    【Python】公共类-logger
    文件IO --- sync、fsync、fdatesync
    【Mongo】安装Mongo并配置副本集
    【MySQL】InnoDB 内存管理机制 --- Buffer Pool
    【MySQL】redo log --- 刷入磁盘过程
    Linux 系统的安装
  • 原文地址:https://www.cnblogs.com/pythonClub/p/9821307.html
Copyright © 2020-2023  润新知