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 urllib模块urlopen()与urlretrieve()详解
Nov 01 Python
Python判断操作系统类型代码分享
Nov 22 Python
python集合类型用法分析
Apr 08 Python
python 实现删除文件或文件夹实例详解
Dec 04 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 Python
numpy 进行数组拼接,分别在行和列上合并的实例
May 08 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
Python 3.8 新功能全解
Jul 25 Python
PyTorch预训练的实现
Sep 18 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
Oct 30 Python
Python写捕鱼达人的游戏实现
Mar 31 Python
Python发送邮件封装实现过程详解
May 09 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新手上路(八)
2006/10/09 PHP
php出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
PHP 多维数组排序(usort,uasort)
2010/06/30 PHP
深入解析php之sphinx
2013/05/15 PHP
PHP 验证码不显示只有一个小红叉的解决方法
2013/09/30 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
学习 NodeJS 第八天:Socket 通讯实例
2016/12/21 NodeJs
原生javascript移动端滑动banner效果
2017/03/10 Javascript
详解A标签中href=""的几种用法
2017/08/20 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
详解Python的Django框架中Manager方法的使用
2015/07/21 Python
创建pycharm的自定义python模板方法
2018/05/23 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
Django 5种类型Session使用方法解析
2020/04/29 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
小学校园之星事迹材料
2014/05/16 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
校本课程教学计划
2015/01/19 职场文书
辞职信范文大全
2015/03/02 职场文书
给校长的建议书作文500字
2015/09/14 职场文书
小学学习委员竞选稿
2015/11/20 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书
合作意向书怎么写
2019/06/24 职场文书
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis