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下自己编写web框架的一些要点
Apr 29 Python
python利用装饰器进行运算的实例分析
Aug 04 Python
Python 记录日志的灵活性和可配置性介绍
Feb 27 Python
Python使用pyh生成HTML文档的方法示例
Mar 10 Python
Sanic框架请求与响应实例分析
Jul 16 Python
Python XML转Json之XML2Dict的使用方法
Jan 15 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
Jul 01 Python
Python&&GDAL实现NDVI的计算方式
Jan 09 Python
Tensorflow实现部分参数梯度更新操作
Jan 23 Python
pycharm实现在虚拟环境中引入别人的项目
Mar 09 Python
自动在Windows中运行Python脚本并定时触发功能实现
Sep 04 Python
Python批量解压&压缩文件夹的示例代码
Apr 04 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/12/21 PHP
php接口技术实例详解
2016/12/07 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
Javascript的构造函数和constructor属性
2010/01/09 Javascript
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
2013/11/26 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
2018/03/01 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
javascript实现移动端轮播图
2020/12/09 Javascript
python&MongoDB爬取图书馆借阅记录
2016/02/05 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
python seaborn heatmap可视化相关性矩阵实例
2020/06/03 Python
如何用python处理excel表格
2020/06/09 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
广州盈通面试题
2015/12/05 面试题
行政文员岗位职责
2013/11/08 职场文书
药学专业个人的自我评价
2013/12/31 职场文书
函授药学自我鉴定
2014/02/07 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
党员反对四风问题思想汇报
2014/09/12 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
综合实践活动报告
2015/02/05 职场文书
财务统计员岗位职责
2015/04/14 职场文书
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python
springboot+zookeeper实现分布式锁
2022/03/21 Java/Android