1. 程式人生 > >tornado學習筆記(三):子類需要重寫的RequestHandler的方法

tornado學習筆記(三):子類需要重寫的RequestHandler的方法

問題

tornado.web.RequestHandler中哪些方法有必要在子類中重寫?

解決方案
參考tornado的原始碼,可以得到我們需要在子類中重寫的方法

示例

下面列出RequestHandler中需要重寫的方法

RequestHandler.initialize()
RequestHandler.prepare()
RequestHandler.get()
RequestHandler.post()
RequestHandler.put()
RequestHandler.delete()
RequestHandler.option()
RequestHandler.patch
() RequestHandler.head() RequestHandler.on_finish() RequestHandler.set_default_headers() RequestHandler.get_template_namespace() RequestHandler.create_template_loader() RequestHandler.write_error(status_code, **kwargs) RequestHandler.get_user_locale() RequestHandler.get_current_user() RequestHandler.get
_login_url() RequestHandler.get_template_path() RequestHandler.compute_etag() RequestHandler.data_received() RequestHandler.log_exception()

總結
上述的一些方法是tornado原始碼中介紹需要在子類中重寫的方法,有些是必須的,有些是可選的。當然,我們也可以覆蓋RequestHandler中的其他方法,但這樣會增加更多的工作,而且,相對來說沒那個必要。