上一篇文章: Python:Tornado 第二章:實戰演練:開發Tornado網站:第二節:路由解析
下一篇文章: Python:Tornado 第二章:實戰演練:開發Tornado網站:第四節:RequestHandler:輸入捕捉
須要子類繼承並定義具體行爲的函數在RequestHandler中被稱爲接入點函數(Entry point),上面的Hello World實例中的get()函數就是典型的接入點函數。web
該方法被子類重寫,實現了RequestHandler子類實現的初始化過程。數據庫
能夠爲該函數傳遞參數(參數來源於配置URL映射的定義)。segmentfault
from tornado.web import RequestHandler,Application import tornado.ioloop import tornado.web class ProfileHandler(RequestHandler): def initialize(self,database): self.database=database def get(self): return self.write(self.database) def post(self): pass def make_app(): return Application([ (r"/test",ProfileHandler,dict(database="test.db",)) ]) def main(): app=make_app() app.listen(8888) tornado.ioloop.IOLoop.current().start() if __name__=="__main__": main()
在瀏覽器上輸入:http://localhost:8888/test瀏覽器
頁面顯示:app
test.db
prepare()方法用於調用請求處理(get、post等)方法以前的初始化處理,一般用來作資源初始化操做。函數
on_finish()方法用於請求處理結束後的一些清理工做,一般用來清理對象佔用的內存或者關閉數據庫鏈接等工做。tornado
每一個HTTP Action在RequestHandler中都以單獨的函數進行分開處理:oop
每一個處理函數都是HTTP Action的小寫名字命名。post