django的403/404/500错误自定义页面的配置方式


Posted in Python onMay 21, 2020

要实现标题的功能,总共分四步:

1.创建html错误页

2.配置settings

3.编写视图

4.配置url

我的开发环境:

django1.10.3

python2.7.12

前期工作

创建项目及app

$ django-admin.py startproject Test
...
$ python manage.py startapp myapp
...

1.创建html错误页

在Test目录下,创建templates文件夹

在文件夹下创建404.html/403.html/500.html文件

2.配置settings

配置tamplates文件路径、关闭Debug、配置allowrd_hosts

DEBUG = False # 关闭Debug
...
TEMPLATES = [
  {
    ...
    'DIRS': ['templates/'], # 配置tamplates文件路径    
    ...
  },
]
...
ALLOWED_HOSTS = [ 
  '192.168.1.12', # 配置allowrd_hosts
]

3.编写视图

在myapp下编写views.py

from django.shortcuts import render

def page_not_found(request):
  return render(request, '404.html')

def page_error(request):
  return render(request, '500.html')

def permission_denied(request):
  return render(request, '403.html')

4.配置url

...
from myapp.views import *

handler403 = permission_denied
handler404 = page_not_found
handler500 = page_error
...

ok!运行一下,看看结果!

补充知识:Django 漂亮的出错页面

django的403/404/500错误自定义页面的配置方式

例子展示 Django 的出错页面。 我们来花些时间看一看这个出错页,了解一下其中 给出了哪些信息。

以下是值得注意的一些要点:

在页面顶部,你可以得到关键的异常信息: 异常数据类型、异常的参数 (如本例中的 "unsupported type" )、在哪个文件中引发了异常、出错的行号等等。

django的403/404/500错误自定义页面的配置方式

在关键异常信息下方,该页面显示了对该异常的完整 Python 追踪信息。 这类似于你在 Python 命令行解释器中获得的追溯信息,只不过后者更具交互性。 对栈中的每一帧,Django 均显示了其文件名、函数或方法名、行号及该行源代码。

django的403/404/500错误自定义页面的配置方式

点击该行代码 (以深灰色显示),你可以看到出错行的前后几行,从而得知相关上下文情况。

django的403/404/500错误自定义页面的配置方式

点击栈中的任何一帧的“Local vars”可以看到一个所有局部变量的列表,以及在出错 那一帧时它们的值。 这些调试信息相当有用。

django的403/404/500错误自定义页面的配置方式

注意"Traceback"下面的"Switch to copy-and-paste view"文字。 点击这些字,追溯会 切换另一个视图,它让你很容易地复制和粘贴这些内容。 当你想同其他人分享这些异常 追溯以获得技术支持时(比如在 Django 的 IRC 聊天室或邮件列表中),可以使用它。

django的403/404/500错误自定义页面的配置方式

你按一下下面的"Share this traceback on a public Web site"按钮,它将会完成这项工作。 点击它以传回追溯信息至http://www.dpaste.com/,在那里你可以得到一个单独的URL并与其他人分享你的追溯信息。

接下来的”Request information”部分包含了有关产生错误的 Web 请求的大量信息: GET 和 POST、cookie 值、元数据(象 CGI 头)。

django的403/404/500错误自定义页面的配置方式

Request信息的下面,“Settings”列出了 Django 使用的具体配置信息。

Django 的出错页某些情况下有能力显示更多的信息,比如模板语法错误。

以上这篇django的403/404/500错误自定义页面的配置方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中查看变量内存地址的方法
May 05 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
Nov 24 Python
使用Python制作微信跳一跳辅助
Jan 31 Python
python实现微信每日一句自动发送给喜欢的人
Apr 29 Python
Python Django 添加首页尾页上一页下一页代码实例
Aug 21 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
Feb 11 Python
python实现根据给定坐标点生成多边形mask的例子
Feb 18 Python
Django rest framework分页接口实现原理解析
Aug 21 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
Jan 21 Python
python数字图像处理:图像简单滤波
Jun 28 Python
Python 第三方库 openpyxl 的安装过程
Dec 24 Python
python 3.8.3 安装配置图文教程
May 21 #Python
Python中的xlrd模块使用原理解析
May 21 #Python
python中sklearn的pipeline模块实例详解
May 21 #Python
Python使用re模块验证危险字符
May 21 #Python
Django 解决新建表删除后无法重新创建等问题
May 21 #Python
python 解决Fatal error in launcher:错误问题
May 21 #Python
django实现日志按日期分割
May 21 #Python
You might like
Smarty Foreach 使用说明
2010/03/23 PHP
php表单提交问题的解决方法
2011/04/12 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
2014/09/24 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
2016/04/12 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
改善你的jQuery的25个步骤 千倍级效率提升
2010/02/11 Javascript
基于jquery的让页面控件不可用的实现代码
2010/04/27 Javascript
js修改地址栏URL参数解决url参数问题
2012/12/15 Javascript
from 表单提交返回值用post或者是get方法实现
2013/08/21 Javascript
解析JavaScript中delete操作符不能删除的对象
2013/12/03 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
利用JS轻松实现获取表单数据
2016/12/06 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
node文件上传功能简易实现代码
2017/06/16 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
JS实现简单日历特效
2020/01/03 Javascript
[01:15]《辉夜杯》北京网鱼队巡礼
2015/10/26 DOTA
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python如何为图片添加水印
2016/11/25 Python
Python匿名函数及应用示例
2019/04/09 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
英国设计的甲板鞋和船鞋:Chatham
2018/12/06 全球购物
财务会计专业个人求职信范本
2014/01/08 职场文书
自我鉴定总结
2014/03/24 职场文书
一年级评语大全
2014/04/23 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
三行辞职书范文
2015/02/26 职场文书
煤矿安全保证书
2015/02/27 职场文书
MySQL 可扩展设计的基本原则
2021/05/14 MySQL
Python中字符串对象语法分享
2022/02/24 Python