import tornado.web
import tornado.ioloop
import tornado.httpserver # 新引入httpserver模組
class
indexhandler
(tornado.web.requesthandler):
"""主路由處理類"""
defget
(self):
"""對應http的get請求方式"""
self.write("hello itcast!")
if __name__ == "__main__":
(r"/", indexhandler),
])# ------------------------------
# 我們修改這個部分
tornado.ioloop.ioloop.current().start()
在這一修改版本中,我們引入了tornado.httpserver模組,顧名思義,它就是tornado的http伺服器實現。
http_server.listen(8000)這兩種方式,建議大家先使用後者即建立httpserver例項的方式,因為其對於理解tornado web應用工作流程的完整性有幫助,便於大家記憶tornado開發的模組組成和程式結構;在熟練使用後,可以改為簡寫。
修改上面httpserver版本**如下:
"""主路由處理類"""
defget
(self):
"""對應http的get請求方式"""
self.write("hello itcast!")
if __name__ == "__main__":
(r"/", indexhandler),
])# -----------修改----------------
tornado.ioloop.ioloop.current().start()http_server.bind(port)方法是將伺服器繫結到指定埠。
http_server.start(num_processes=1)方法指定開啟幾個程序,引數num_processes預設值為1,即預設僅開啟乙個程序;
如果num_processes為none或者<=0,則自動根據機器硬體的cpu核芯數建立同等數目的子程序;如果num_processes>0,則建立num_processes個子程序。
我們在前面寫的http_server.listen(8000)實際上就等同於:
http_server.start(1)雖然tornado給我們提供了一次開啟多個程序的方法,但是由於:
不建議使用這種多程序的方式,而是建議手動開啟多個程序,並且繫結不同的埠。
Tornado框架知識系列之一
tornado全稱tornado web server,是乙個用python語言寫成的web伺服器兼web應用框架,由friendfeed公司在自己的 friendfeed中使用,被facebook收購以後框架在2009年9月以開源軟體形式開放給大眾。特點 效能 tornado框架和伺服器一起組成乙...
Tornado框架知識系列之三
在前面的示例中我們都是將服務埠的引數寫死在程式中,很不靈活。tornado為我們提供了乙個便捷的工具,tornado.options模組 全域性引數定義 儲存 轉換。用來定義options選項變數的方法,定義的變數可以在全域性的tornado.options.options中獲取使用,傳入引數 全域...
Tornado框架之深入(二)
debug模式 路由設定擴充套件 requesthandler的使用 輸入方法 輸出方法 可重寫介面 目錄 輸入輸出 介面與呼叫順序 疑問 我們先來學習乙個引數 debug,設定tornado是否工作在除錯模式,預設為false即工作在生產模式。當設定debug true 後,tornado會工作在...