tornado捕获和处理404错误的方法

 更新时间:2014年02月26日 14:15:18   作者:  
这篇文章主要介绍了tornado捕获和处理404错误的方法,方法很简单,只要覆写write_error方法就可以,看下面的代码就明白了

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))

相关文章

  • Python3读取文件的操作详解

    Python3读取文件的操作详解

    说到fileinput,可能90%的码农表示没用过,甚至没有听说过。但是,今天小编还是要介绍fileinput这个方法,因为太奈斯了,快跟随小编一起学习学习吧
    2022-07-07
  • 从0开始的Python学习014面向对象编程(推荐)

    从0开始的Python学习014面向对象编程(推荐)

    这篇文章主要介绍了Python面向对象编程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 实现Python图形界面框架TkInter写GUI界面应用简介过程操作

    实现Python图形界面框架TkInter写GUI界面应用简介过程操作

    TkInter是Python用于开发GUI界面的标准库,如果你想快速开发一个带有GUI界面的小工具(笑小程序),且又能同时在Linux、Windows、Mac上使用,TkInter天生支持跨平台,天生具备稳定性,我认为它能满足内部工具的简单需求
    2021-09-09
  • Python中的TCP socket写法示例

    Python中的TCP socket写法示例

    最近在学习脚本语言python,所以下面这篇文章主要给大家介绍了关于Python中TCP socket写法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们一起来看看吧
    2018-05-05
  • python常见的占位符总结及用法

    python常见的占位符总结及用法

    在本篇文章里小编给大家整理的是一篇关于python常见的占位符总结及用法,有兴趣的朋友们可以跟着学习参考下。
    2021-07-07
  • 基于python实现百度语音识别和图灵对话

    基于python实现百度语音识别和图灵对话

    这篇文章主要介绍了基于python实现百度语音识别和图灵对话,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python动态可视化模块Pynimate初体验

    Python动态可视化模块Pynimate初体验

    Pynimate是python第三方用于动态可视化的数据模块,是一位专攻 Python 语言的程序员开发的安装包。本文将通过几个简单的示例,讲解一下Pynimate的使用方法,需要的可以参考一下
    2023-02-02
  • 详解python常用命令行选项与环境变量

    详解python常用命令行选项与环境变量

    这篇文章主要介绍了python常用命令行选项与环境变量,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 使用Python的Twisted框架构建非阻塞下载程序的实例教程

    使用Python的Twisted框架构建非阻塞下载程序的实例教程

    Twisted的异步工作模式使其在非阻塞情况下可以拥有较高的性能,这里我们来看一下使用Python的Twisted框架构建非阻塞下载程序的实例教程,包括服务器端与客户端的实践.
    2016-05-05
  • Python利用appium实现模拟手机滑动操控的操作

    Python利用appium实现模拟手机滑动操控的操作

    Appium 是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持 iOS, Android 和 FirefoxOS 平台。本文将利用appium实现模拟手机滑动操控的操作,感兴趣的可以了解一下
    2022-07-07

最新评论