tornado捕获和处理404错误的方法
时间:2023-11-27 11:03:36
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))
标签:tornado,404错误
0
投稿
猜你喜欢
python基于SMTP发送QQ邮件
2023-04-07 21:11:51
Flask模板继承深入理解与应用
2021-01-24 12:31:40
django+mysql的使用示例
2022-10-24 20:34:15
SQL SERVER查询所有数据库名,表名,和字段名的语句
2012-01-05 19:25:26
PHP getDocNamespaces()函数讲解
2023-06-13 22:19:06
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2024-01-20 23:24:19
详解python单例模式与metaclass
2021-03-20 23:43:56
CI框架中数据库操作函数$this->db->where()相关用法总结
2024-06-05 09:45:16
mysql 选择插入数据(包含不存在列)具体实现
2024-01-21 15:15:56
设计哲学与跨界
2009-08-18 12:25:00
匹配 IP 地址与域名的正则表达式
2023-06-17 05:55:48
基于python实现微信模板消息
2022-03-08 01:14:55
python 编码规范整理
2023-05-20 10:14:44
HTML5 移动页面自适应手机屏幕宽度详解
2022-08-14 23:14:43
下一站:HandlerSocket!
2011-04-11 09:02:00
详解 Go 语言中 Map 类型和 Slice 类型的传递
2024-05-29 22:07:11
基于python编写的微博应用
2021-06-06 01:26:38
mysql8.0.11 winx64安装配置方法图文教程(win10)
2024-01-23 07:58:58
详解Python对某地区二手房房价数据分析
2022-04-07 04:47:30
使用python opencv对目录下图片进行去重的方法
2023-07-06 20:04:13