在前面的示例中我們都是將服務埠的引數寫死在程式中,很不靈活。
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...