首頁 >後端開發 >Python教學 >Python開發Tornado網站之RequestHandler:存取點函數

Python開發Tornado網站之RequestHandler:存取點函數

不言
不言轉載
2018-10-19 17:12:352222瀏覽
這篇文章帶給大家的內容是關於Python開發Tornado網站之RequestHandler:接入點函數,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

需要子類別繼承並定義特定行為的函數在RequestHandler中被稱為存取點函數(Entry point),上面的Hello World實例中的get()函數就是典型的存取點函數。

1、RequestHandler.initialize()

此方法被子類別重寫,實作了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

2、RequestHandler. prepare()、RequestHandler.on_finish()

prepare()方法用於呼叫請求處理(get、post等)方法之前的初始化處理,通常用來做資源初始化操作。

on_finish()方法用於要求處理結束後的一些清理工作,通常用來清理物件佔用的記憶體或關閉資料庫連線等工作。

3、HTTP Action處理函數

每個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中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除