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 从远程服务器下载日志文件的程序
Feb 10 Python
Python中3种内建数据结构:列表、元组和字典
Nov 30 Python
Python解析xml中dom元素的方法
Mar 12 Python
python好玩的项目—色情图片识别代码分享
Nov 07 Python
Django数据库表反向生成实例解析
Feb 06 Python
Python使用pandas对数据进行差分运算的方法
Dec 22 Python
Python Web框架之Django框架cookie和session用法分析
Aug 16 Python
python框架flask表单实现详解
Nov 04 Python
基于Python爬取京东双十一商品价格曲线
Oct 23 Python
Django前后端分离csrf token获取方式
Dec 25 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
Django中如何用xlwt生成表格的方法步骤
Jan 31 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中数组的分组排序实例
2014/06/01 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
开启PHP的伪静态模式
2015/12/31 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
javascript一点特殊用法
2008/05/28 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
基于编写jQuery的无缝滚动插件
2014/08/02 Javascript
JS自定义对象实现Java中Map对象功能的方法
2015/01/20 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
详解webpack分包及异步加载套路
2017/06/29 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
Node做中转服务器转发接口
2017/10/18 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
python通过post提交数据的方法
2015/05/06 Python
Python Requests库基本用法示例
2018/08/20 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
python实现高斯(Gauss)迭代法的例子
2019/11/20 Python
用python制作个视频下载器
2021/02/01 Python
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
大学毕业的自我鉴定
2013/10/08 职场文书
庆八一活动方案
2014/01/25 职场文书
解除合同协议书
2014/04/17 职场文书
英文升职感谢信
2015/01/23 职场文书
2015年党日活动总结范文
2015/03/25 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python
ConstraintValidator类如何实现自定义注解校验前端传参
2021/06/18 Java/Android
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers