2
我想在啓動我的Tornado網絡服務器時設置變量,所以我試圖覆蓋我的RequestHandler
類中的initialize
。但很顯然,initialize
是一個請求時每次啓動,根據下面的代碼和它的輸出:如何在每次請求時使用Tornado調用初始化
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def initialize(self):
print("Launching initialization...")
def get(self):
print("Get: {}{}".format(self.request.host, self.request.uri))
app = tornado.web.Application([=
(r"/.*", MainHandler)
])
def runserver():
import tornado.ioloop
app.listen(8080)
tornado.ioloop.IOLoop.instance().start()
if __name__ == "__main__":
runserver()
標準輸出:
~ ➤ ./redirector.py
Launching initialization...
Get: 127.0.0.1:8080/
Launching initialization...
Get: 127.0.0.1:8080/favicon.ico
Launching initialization...
Get: 127.0.0.1:8080/favicon.ico
Launching initialization...
Get: 127.0.0.1:8080/
此行爲是完全相反的是寫在doc:
用於子類初始化的掛鉤。
(意思是它被稱爲在__init__
末)
因此,沒有任何人知道該怎麼做我想做什麼?
在此先感謝。