tornado捕获和处理404错误的方法


Posted in Python onFebruary 26, 2014

Tornado 文档中提到但是这样只能捕获到handlers中列出的路径请求中的错误。

如果只定义了(r"/hello", HelloHandler) 一条规则,那么只能捕获到 /hello/other,这样的未定义路径请求,而像/he、/helloworld、/he/other这样的会直接显示Tornado默认的404错误页面,而不会显示自定义的错误页面。

解决方法很简单只需要在路由规则的最后加一条(r".*", BaseHandler),用于捕获未被其他规则捕获的所有请求,然后覆写get方法,并在方法中调用自定义的write_error方法。 例:

class BaseHandler(tornado.web.RequestHandler):
    def get(self):
        self.write_error(404)
    def write_error(self, status_code, **kwargs):
        if status_code == 404:
            self.render('public/404.html')
        elif status_code == 500:
            self.render('public/500.html')
        else:
            self.write('error:' + str(status_code))
Python 相关文章推荐
Python写的一个定时重跑获取数据库数据
Dec 28 Python
python的random模块及加权随机算法的python实现方法
Jan 04 Python
python读取csv文件并把文件放入一个list中的实例讲解
Apr 27 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 Python
python实现对任意大小图片均匀切割的示例
Dec 05 Python
python实现五子棋小游戏
Mar 25 Python
python使用wxpy轻松实现微信防撤回的方法
Feb 21 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
Python流程控制 while循环实现解析
Sep 02 Python
Python 如何批量更新已安装的库
May 26 Python
Python3 用什么IDE开发工具比较好
Nov 28 Python
python从ftp获取文件并下载到本地
Dec 05 Python
python为tornado添加recaptcha验证码功能
Feb 26 #Python
python实现博客文章爬虫示例
Feb 26 #Python
python处理中文编码和判断编码示例
Feb 26 #Python
python实现网页链接提取的方法分享
Feb 25 #Python
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 #Python
python实现socket客户端和服务端简单示例
Feb 24 #Python
python抓取网页内容示例分享
Feb 24 #Python
You might like
php 破解防盗链图片函数
2008/12/09 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
2014/04/10 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
2020/05/29 PHP
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
json格式的javascript对象用法分析
2016/07/04 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
js自定义Tab选项卡效果
2017/06/05 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
微信小程序 网络通信实现详解
2019/07/23 Javascript
es6函数中的作用域实例分析
2020/04/18 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
整理Python 常用string函数(收藏)
2016/05/30 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
python中rc1什么意思
2020/06/19 Python
Python中免验证跳转到内容页的实例代码
2020/10/23 Python
html5弹跳球示例代码
2013/07/23 HTML / CSS
英国领先品牌手动工具和电动工具供应商:Tooled Up
2018/11/24 全球购物
党校培训思想汇报
2013/12/30 职场文书
广告学专业自荐信范文
2014/02/24 职场文书
兽医医药专业求职信
2014/07/27 职场文书
搞笑老公保证书
2015/02/26 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
国富论读书笔记
2015/06/26 职场文书
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电