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爬虫之使用urllib2组件抓取网页内容
Nov 04 Python
python简单实现计算过期时间的方法
Jun 09 Python
Python对切片命名的实现方法
Oct 16 Python
Python进程间通信Queue消息队列用法分析
May 22 Python
详解Python time库的使用
Oct 10 Python
tensorflow之tf.record实现存浮点数数组
Feb 17 Python
用什么库写 Python 命令行程序(示例代码详解)
Feb 20 Python
python实现简单井字棋游戏
Mar 04 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
May 27 Python
浅谈Keras中shuffle和validation_split的顺序
Jun 19 Python
Python从文件中读取数据的方法步骤
Nov 18 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 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 登录记住密码实现思路
2013/05/07 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
php好代码风格的阶段性总结
2016/06/25 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
js中单引号与双引号冲突问题解决方法
2013/10/04 Javascript
javascript实现表格排序 编辑 拖拽 缩放
2015/01/02 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
React styled-components设置组件属性的方法
2018/08/07 Javascript
微信小程序按钮去除边框线分享页面功能
2018/08/27 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
python dict.get()和dict['key']的区别详解
2016/06/30 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
Python爬虫学习之翻译小程序
2019/07/30 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
2019/10/17 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
师范应届生语文教师求职信
2013/10/29 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
法院四风对照检查材料思想汇报
2014/10/06 职场文书
个人年终总结范文
2015/03/09 职场文书
六一活动主持词
2015/06/30 职场文书
新入职员工工作总结
2015/10/15 职场文书
解析原生JS getComputedStyle
2021/05/25 Javascript