django主动抛出403异常的方法详解


Posted in Python onJanuary 04, 2019

前言

网上的做法基本都是下面的代码

return HttpResponseForbidden()

试了一下,效果一般,没有异常页面显示,最终显示的是浏览器的异常页面,如下图:

django主动抛出403异常的方法详解

设置方法如下:

如果要想让服务器截获异常并且显示错误页可以用下面的方式:

id = request.GET.get('id', '')
timestamp = request.GET.get('timestamp', '')
accesskey = request.GET.get('accesskey', '')
 
if timestamp == '' or accesskey == '' or id == '':
 raise PermissionDenied

此时访问就会显示正常的错误页了,如下

django主动抛出403异常的方法详解

django 错误页面定义方法:

urls.py加入如下代码:

handler403 = permission_denied
handler404 = page_not_found
handler500 = page_error

相关view代码:

# Create your views here.
def page_not_found(request):
 return HttpResponseRedirect('/static/error_pages/404.html')
 
 
def page_error(request):
 return HttpResponseRedirect('/static/error_pages/500.html')
 
 
def permission_denied(request):
 return HttpResponseRedirect('/static/error_pages/403.html')

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
解决python写的windows服务不能启动的问题
Apr 15 Python
对Python新手编程过程中如何规避一些常见问题的建议
Apr 01 Python
Python判断文本中消息重复次数的方法
Apr 27 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
Jan 29 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
Python产生一个数值范围内的不重复的随机数的实现方法
Aug 21 Python
使用pandas的box_plot去除异常值
Dec 10 Python
PyCharm 专业版安装图文教程
Feb 20 Python
使用python批量修改XML文件中图像的depth值
Jul 22 Python
python subprocess pipe 实时输出日志的操作
Dec 05 Python
Python批量将csv文件转化成xml文件的实例
May 10 Python
pyspark操作MongoDB的方法步骤
Jan 04 #Python
详解Appium+Python之生成html测试报告
Jan 04 #Python
python虚拟环境迁移方法
Jan 03 #Python
对django xadmin自定义菜单的实例详解
Jan 03 #Python
在Python中关于使用os模块遍历目录的实现方法
Jan 03 #Python
Python代码打开本地.mp4格式文件的方法
Jan 03 #Python
python paramiko利用sftp上传目录到远程的实例
Jan 03 #Python
You might like
php调用mysql存储过程
2007/02/14 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
使用nodejs、Python写的一个简易HTTP静态文件服务器
2014/07/18 NodeJs
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
JavaScript 动态三角函数实例详解
2017/01/08 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
2019/08/23 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
面向对象编程OOP的优点
2013/01/22 面试题
大学生文员专业个人求职信范文
2014/01/05 职场文书
供电工程专业求职信
2014/08/09 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
高中开学感言
2015/08/01 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers