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 相关文章推荐
django1.8使用表单上传文件的实现方法
Nov 04 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
Apr 09 Python
用Python实现将一张图片分成9宫格的示例
Jul 05 Python
python使用原始套接字发送二层包(链路层帧)的方法
Jul 22 Python
Python实现微信翻译机器人的方法
Aug 13 Python
PYTHON绘制雷达图代码实例
Oct 15 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
Python改变对象的字符串显示的方法
Aug 01 Python
django有哪些好处和优点
Sep 01 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
教你怎么用Python实现多路径迷宫
Apr 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中的strtr函数使用介绍(str_replace)
2011/10/20 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
Python中使用不同编码读写txt文件详解
2015/05/28 Python
Python3计算三角形的面积代码
2017/12/18 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
python实现数据清洗(缺失值与异常值处理)
2019/12/02 Python
Python实现图像去噪方式(中值去噪和均值去噪)
2019/12/18 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
教师应聘个人求职信
2013/12/10 职场文书
年终考核评语
2014/01/19 职场文书
双十佳事迹材料
2014/01/29 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
普通党员个人对照检查材料
2014/09/18 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
运动会观后感
2015/06/09 职场文书
2016年中秋节晚会领导致辞
2015/11/26 职场文书
小学大队委竞选口号
2015/12/25 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书