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获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
Jul 04 Python
python类中super()和__init__()的区别
Oct 18 Python
Python生成器以及应用实例解析
Feb 08 Python
python微信跳一跳系列之棋子定位像素遍历
Feb 26 Python
对python append 与浅拷贝的实例讲解
May 04 Python
tensorflow 获取变量&打印权值的实例讲解
Jun 14 Python
transform python环境快速配置方法
Sep 27 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
浅析Windows 嵌入python解释器的过程
Jul 26 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
Aug 21 Python
python导入不同目录下的自定义模块过程解析
Nov 18 Python
使用python爬取抖音app视频的实例代码
Dec 01 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
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
php 一元分词算法
2009/11/30 PHP
PHP目录函数实现创建、读取目录教程实例
2011/01/13 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
javascript的BOM
2016/05/03 Javascript
javascript类型系统——undefined和null全面了解
2016/07/13 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
js弹性势能动画之抛物线运动实例详解
2017/07/27 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
Python文件及目录操作实例详解
2015/06/04 Python
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
Laravel+Dingo/Api 自定义响应的实现
2019/02/17 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
python用match()函数爬数据方法详解
2019/07/23 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
python自动识别文本编码格式代码
2019/12/26 Python
Python用SSH连接到网络设备
2021/02/18 Python
python包的导入方式总结
2021/03/02 Python
新闻专业应届生求职信
2013/10/31 职场文书
十八届三中全会个人学习材料
2014/02/13 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
初二学习计划书范文
2014/04/27 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
北京青年观后感
2015/06/15 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书
小程序后台PHP版本部署运行 LNMP+WNMP
2021/04/01 Servers
Vue3中的Refs和Ref详情
2021/11/11 Vue.js