要自定义处理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之404、500、400错误处理的更多相关文章

  1. 微信通过openID发送消息/后台post、get提交并接收数据 C# .NET 配置404,500等错误信息 连接字符串

    微信通过openID发送消息/后台post.get提交并接收数据   控制器:下面是post发送消息(微信不支持从前台发送数据,之前试过,报错,需要跨域,跨域的问题解决后还不行,最后发现之后后端提交 ...

  2. C# .NET 配置404,500等错误信息

    <customErrors mode="On" defaultRedirect="viewAll.html"><!--所有的错误显示页--&g ...

  3. 解决spring boot中rest接口404,500等错误返回统一的json格式

    在开发rest接口时,我们往往会定义统一的返回格式,列如: { "status": true, "code": 200, "message" ...

  4. 转载Django 500,404,400错误修改优化

    转载:https://blog.csdn.net/qq_38038143/article/details/80105653 404错误:page not found视图 500错误:server er ...

  5. apache 网页301重定向、自定义400/403/404/500错误页面

    首先简单介绍一下,.htaccess文件是Apache服务器中的一个配置文件(Nginx服务器没有),它负责相关目录下的网页配置.通过对.htaccess文件进行设置,可以帮我们实现:网页301重定向 ...

  6. java异常处理及400,404,500错误处理

        java代码中经常碰到各种需要处理异常的时候,比如什么IOException  SQLException  NullPointException等等,在开发web项目中,遇到异常,我现在做的就 ...

  7. django 配置404,500页面

    JSP CURL session COOKIE diango 自定义404 500页面     1.首先将settings设置debug=false;             2.设置static路径 ...

  8. Django 编写自定义的 404 / 500 报错界面

    Django 编写自定义的 404 / 500 报错界面 1. 首先 setting.py 文件中的 debug 参数设置成 false ,不启用调试. DEBUG = False 2. 在 temp ...

  9. web项目错误页面友好处理404,500等

    写在前面: 在web项目中,可能会出现404.500等错误页面,给用户体验不怎么好,所以我们可以对这些错误页面进行友好的处理. 步骤: 1.配置web.xml: <!-- 错误页面友好显示 -- ...

随机推荐

  1. 【Linux】-NO.7.Linux.3.Maven.1.001-【CentOS 7 Install Maven 3.5】-

    1.0.0 Summary Tittle:[Linux]-NO.7.Linux.3.Maven.1.001-[CentOS 7 Install Maven 3.5]- Style:Linux Seri ...

  2. linux 常用简单命令

    1.ps获取dhcpd进程状态 ps -aux |grep dhcpd |grep -v grep  排除包含grep的那条进程 ps -aux |grep dhcpd |grep -v grep | ...

  3. [LeetCode] 78. Subsets tag: backtracking

    Given a set of distinct integers, nums, return all possible subsets (the power set). Note: The solut ...

  4. 利用Tensorflow实现神经网络模型

    首先看一下神经网络模型,一个比较简单的两层神经. 代码如下: # 定义参数 n_hidden_1 = 256 #第一层神经元 n_hidden_2 = 128 #第二层神经元 n_input = 78 ...

  5. linux 下查看c 函数帮助

    帮助文档 man man MANUAL SECTIONS The standard sections of the manual include: User Commands System Calls ...

  6. centos7及服务器端安装python2.7.13, setuptools, pip

    1. 安装python2.7.13 因为涉及到安装到服务器,所以可能不能直接在usr/bin及usr/local/bin下安装,所以本文详解安装在自定义目录下. 下载安装包: $ wget https ...

  7. python number

    一.number类型转换 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real ...

  8. es6proxy

    Proxy 支持的拦截操作一览. 对于可以设置.但没有设置拦截的操作,则直接落在目标对象上,按照原先的方式产生结果. (1)get(target, propKey, receiver) 拦截对象属性的 ...

  9. [14]Windows内核情景分析 --- 文件系统

    文件系统 一台机器上可以安装很多物理介质来存放资料(如磁盘.光盘.软盘.U盘等).各种物理介质千差万别,都配备有各自的驱动程序,为了统一地访问这些物理介质,windows设计了文件系统机制.应用程序要 ...

  10. 数据模型Model(I)

    枚举.结构体和协议组成Model //定义一个协议 protocol BaseItemProtocal { var title: String { get set } //属性是可读可写的 var t ...