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中os操作文件及文件路径实例汇总
Jan 15 Python
Python简单实现TCP包发送十六进制数据的方法
Apr 16 Python
利用python微信库itchat实现微信自动回复功能
May 18 Python
Python守护线程用法实例
Jun 23 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 Python
Django基础知识 URL路由系统详解
Jul 18 Python
基于django传递数据到后端的例子
Aug 16 Python
python文字转语音的实例代码分析
Nov 12 Python
基于YUV 数据格式详解及python实现方式
Dec 09 Python
pytorch方法测试——激活函数(ReLU)详解
Jan 15 Python
在python3.9下如何安装scrapy的方法
Feb 03 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
May 28 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中each与list用法分析
2016/01/08 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
JavaScript事件 "事件对象"的注意要点
2016/01/14 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
微信小程序 POST请求的实例详解
2017/09/29 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
2018/10/26 jQuery
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
Python中的自省(反射)详解
2015/06/02 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
pycharm快捷键汇总
2020/02/14 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
python IP地址转整数
2020/11/20 Python
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
香港通票:Hong Kong Pass
2019/02/26 全球购物
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
省级青年文明号申报材料
2014/05/23 职场文书
2015年学校后勤工作总结
2015/04/08 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
python代码实现备忘录案例讲解
2021/07/26 Python