Tornado框架知識系列之三

2021-08-14 21:28:20 字數 1704 閱讀 4963

在前面的示例中我們都是將服務埠的引數寫死在程式中,很不靈活。

tornado為我們提供了乙個便捷的工具,tornado.options模組——全域性引數定義、儲存、轉換。

用來定義options選項變數的方法,定義的變數可以在全域性的tornado.options.options中獲取使用,傳入引數:

全域性的options物件,所有定義的選項變數都會作為該物件的屬性。

轉換命令列引數,並將轉換後的值對應的設定到全域性options物件相關屬性上。追加命令列引數的方式是–myoption=myvalue

import tornado.options # 新匯入的options模組

tornado.options.define("port", default=8000, type=int, help="run server on the given port.") # 定義伺服器監聽埠選項

class

indexhandler

(tornado.web.requesthandler):

"""主路由處理類"""

defget

(self):

"""對應http的get請求方式"""

tornado.ioloop.ioloop.current().start()從配置檔案匯入option,配置檔案中的選項格式如下:

myoption = 「myvalue」 

myotheroption = 「myothervalue」

在使用prase_config_file()的時候,配置檔案的書寫格式仍需要按照python的語法要求,其優勢是可以直接將配置檔案的引數轉換設定到全域性物件tornado.options.options中;然而,其不方便的地方在於需要在**中呼叫tornado.options.define()來定義選項,而且不支援字典型別,故而在實際應用中大都不使用這種方法。

在使用配置檔案的時候,通常會新建乙個python檔案(如config.py),然後在裡面直接定義python型別的變數(可以是字典型別);在需要配置檔案引數的地方,將config.py作為模組匯入,並使用其中的變數引數。

當我們在**中呼叫parse_command_line()或者parse_config_file()的方法時,tornado會預設為我們配置標準logging模組,即預設開啟了日誌功能,並向標準輸出(螢幕)列印日誌資訊。

如果想關閉tornado預設的日誌功能,可以在命令列中新增–logging=none 或者在**中執行如下操作:

from tornado.options import options, parse_command_line

options.logging = none

parse_command_line()

Tornado框架知識系列之一

tornado全稱tornado web server,是乙個用python語言寫成的web伺服器兼web應用框架,由friendfeed公司在自己的 friendfeed中使用,被facebook收購以後框架在2009年9月以開源軟體形式開放給大眾。特點 效能 tornado框架和伺服器一起組成乙...

Tornado框架知識系列之二

import tornado.web import tornado.ioloop import tornado.httpserver 新引入httpserver模組 class indexhandler tornado.web.requesthandler 主路由處理類 defget self 對應...

spring知識之三

條件化的bean 假設你希望乙個或多個bean只有在應用的類路徑下包含特定的庫時才建立。或者我們希望某個bean只有當另外某個特定的bean也宣告了之後才會建立。我們還可能要求只有某個特定的環境變數設定之後,才會建立某個bean。在spring 4之前,很難實現這種級別的條件化配置,但是spring...