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代码来绘制彭罗斯点阵的教程
Apr 03 Python
Python中的面向对象编程详解(下)
Apr 13 Python
Python实现扫描局域网活动ip(扫描在线电脑)
Apr 28 Python
Python实现多线程抓取网页功能实例详解
Jun 08 Python
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 Python
使用python的pandas库读取csv文件保存至mysql数据库
Aug 20 Python
在IPython中进行Python程序执行时间的测量方法
Nov 01 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
Nov 10 Python
python自动化之Ansible的安装教程
Jun 13 Python
Python3 pywin32模块安装的详细步骤
May 26 Python
python rsa-oaep加密的示例代码
Sep 23 Python
python线程池 ThreadPoolExecutor 的用法示例
Oct 10 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中数组首字符过滤功能代码
2012/07/31 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
js特效,页面下雪的小例子
2013/06/17 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
JS使用cookie设置样式的方法
2016/06/30 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
2016/12/05 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
python 拼接文件路径的方法
2018/10/23 Python
Python XlsxWriter模块Chart类用法实例分析
2019/03/11 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
pycharm运行scrapy过程图解
2019/11/22 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
出纳岗位职责模板
2013/11/27 职场文书
电厂厂长岗位职责
2014/01/02 职场文书
计算机网络专业求职信
2014/06/05 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
幼儿学前班评语
2014/12/29 职场文书
五年级数学教学反思
2016/02/16 职场文书
导游词之海南-南湾猴岛
2019/10/12 职场文书
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python
oracle数据库去除重复数据
2022/05/20 Oracle