1
我正在使用龍捲風,並有一堆處理程序映射到不同的網址。例如:現在在所有Tornado處理程序中共享write_error方法?
#mainfile.py
#imports
#...
application = tornado.web.Application([
(r"/", DefaultHandler),
(r"/somepath", SomepathHandler),
], debug=True)
if __name__ == "__main__":
tornado.options.parse_command_line()
port = int(os.environ.get("PORT", 8001))
application.listen(port)
tornado.ioloop.IOLoop.instance().start()
,在DefaultHandler的和SomepathHandler,我不喜歡被顯示錯誤消息的方式,所以我決定重寫write_error方法是這樣的:
#DefaultHandler.py
class DefaultHandler(tornado.web.RequestHandler):
def write_error(self, status_code, **kwargs):
self.write("a nicer message")
def initialize(self):
#stuff
def get(self):
#more stuff, etc.
然後
#Somepathhandler.py
class SomepathHandler(tornado.web.RequestHandler):
def write_error(self, status_code, **kwargs):
self.write("a nicer message")
而且這肯定會繼續與其他處理程序。我閱讀了Tornado文檔,似乎我應該繼承class tornado.web.RequestHandler(application, request, **kwargs)
,但尚未成功完成。我不太確定班級應該去哪裏,我怎樣才能讓它註冊我的申請?
謝謝!