需要子類別繼承並定義特定行為的函數在RequestHandler中被稱為存取點函數(Entry point),上面的Hello World實例中的get()函數就是典型的存取點函數。
此方法被子類別重寫,實作了RequestHandler子類別實作的初始化過程。
可以為該函數傳遞參數(參數來自配置URL映射的定義)。
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
頁面顯示:
test.db
prepare()方法用於呼叫請求處理(get、post等)方法之前的初始化處理,通常用來做資源初始化操作。
on_finish()方法用於要求處理結束後的一些清理工作,通常用來清理物件佔用的記憶體或關閉資料庫連線等工作。
每個HTTP Action在RequestHandler中都以單獨的函數分開處理:
RequestHandler.get( *args,**kwargs)
RequestHandler.post(*args,**kwargs)
RequestHandler.head(*args,* *kwargs)
RequestHandler.delete(*args,**kwargs)
RequestHandler.patch(*args,**kwargs)
RequestHandler.put(*args,**kwargs)
RequestHandler.options(*args,**kwargs)
每個處理函數都是HTTP Action的小寫名字命名。
#以上是Python開發Tornado網站之RequestHandler:存取點函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!