tornado 自定义错误页, 网上有好几种方法, 都不是很好。
我发现还可以这样改, 如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import tornado.ioloop import tornado.web
class BaseHandler(tornado.web.RequestHandler): def write_error(self, status_code, **kwargs): self.finish("this is my 404!")
class MainHandler(BaseHandler): def get(self): self.write("Hello, world")
application = tornado.web.Application([ (r"/", MainHandler), ])
if __name__ == "__main__": application.listen(8888) tornado.ioloop.IOLoop.instance().start()
|
就是重载 tornado.web.RequestHandler, 重写 write_error 方法。
然后根据 status_code 的状态码给出不同的响应。
不过 finish 有效一点, 那些 render 和 redirect 都有些问题。