Tornado框架知識系列之二

2021-08-14 21:23:05 字數 1834 閱讀 4240

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會工作在...