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中文件遍历的两种方法
Jun 16 Python
在Python的Django框架中实现Hacker News的一些功能
Apr 17 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
May 08 Python
利用Tkinter(python3.6)实现一个简单计算器
Dec 21 Python
python数据挖掘需要学的内容
Jun 23 Python
python内存监控工具memory_profiler和guppy的用法详解
Jul 29 Python
python中append实例用法总结
Jul 30 Python
关于PyTorch源码解读之torchvision.models
Aug 17 Python
关于Python中的向量相加和numpy中的向量相加效率对比
Aug 26 Python
python range实例用法分享
Feb 06 Python
8种常用的Python工具
Aug 05 Python
浅谈Python3中datetime不同时区转换介绍与踩坑
Aug 02 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实现多城市切换特效
2015/08/09 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
如何用js控制css中的float的代码
2007/08/16 Javascript
很可爱的输入框
2008/08/03 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
js浮动图片的动态效果
2013/07/10 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
js仿QQ邮箱收件人选择与搜索功能
2017/02/10 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
Node.js五大应用性能技巧小结(必须收藏)
2017/08/09 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
2017/08/17 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
JavaScript实现简单的图片切换功能(实例代码)
2020/04/10 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
小程序中手机号识别的示例
2020/12/14 Javascript
python 接口测试response返回数据对比的方法
2018/02/11 Python
python 获取url中的参数列表实例
2018/12/18 Python
Python多进程写入同一文件的方法
2019/01/14 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
python能否java成为主流语言吗
2020/06/22 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
比利时买床:Beter Bed
2017/12/06 全球购物
学生发电厂实习自我鉴定
2013/09/22 职场文书
给学校的建议书
2014/03/12 职场文书
大学迎新晚会主持词
2014/03/24 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
员工保密协议书
2014/09/27 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
java设计模式--七大原则详解
2021/07/21 Java/Android
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang