2015年8月21日

Tornado 教學 (7) - 使用 Options 模組 ( Use tornado.options module )

開發 Web 應用常常需要根據不同的開發環境微調設定,Tornado Web Framework 正好提供了一個 Options 模組讓我們處理這樣的需求。本篇將介紹如何使用 Tornado Options 模組。( 其他 Tornado 相關教學可以參考本篇整理 )



前置作業:
記得將 Tornado Options 模組載入,如下:
import tornado.options


設定 Options:
此模組的主要使用方式是透過 define( ) 來定義你需要的參數,如此一來我們在執行程式時就可以加入此 option,直接看範例程式比較容易暸解:
import tornado.web
import tornado.ioloop
import tornado.options

# 定義 port 參數,並將參數預設值加入
tornado.options.define("port", default=8888, help="message...", type=int)
...

def main():
    # 加入此行讓輸入的 options 被解析並生效
    tornado.options.parse_command_line()
    app = tornado.web.Application(
            [(r'/', ...)],
            debug=True,
            autoreload=True
        )
    # 使用 port 參數,若無特別指定則使用預設值
    app.listen(tornado.options.options.port)
    tornado.ioloop.IOLoop.current().start()

if __name__ == "__main__":
    main()
接著我們執行時就可以加入 port 參數:
python yourfile.py -port=8080
如此一來,我們在不同的環境下可以更有彈性的來測試 Tornado Web Application。


Environment :
  ・ Arch Linux
  ・ Python 2.7

Reference :
  ・ Tornado