用flask開發個人部落格(6)—— 為flask程式新增命令列直譯器
阿新 • • 發佈:2019-01-10
一 引入Manager
使用flask的方便之處在於可以使用大量的擴充套件功能,如資料庫和使用者認證都是通過擴充套件功能實現。打算開啟flask時支援命令列選項,我們需要引入flask-script擴充套件。
from flask_script import Manager
app=Flask(__name__)
manager=Manager(app)
...
if __name__=='__main__':
manager.run()
flask_script聲明瞭一個Manager類,它以程式例項作為引數,傳給建構函式。這個方法也常用與其他的擴充套件,其創造的物件可以在各個擴充套件中使用。
二 通過Manager啟動伺服器
manager.run()封裝了app.run()的功能,以使其支援啟動時的命令列引數.通過在終端中輸入下面的命令,來啟動伺服器。
python test.py runserver
這種啟動方式,伺服器預設在本機上,只接受來自伺服器所在的計算機發起的連結。若需要同網中其他計算機的連結伺服器,則需要加上--host 0.0.0.0 選項。
python test.py runserver --host 0.0.0.0
三 增加自定義命令
使用Manager還可以增加自定義的命令:
上面,為manager例項增加了一個print_str的命令,我們在終端按照以下方式呼叫,即可打印出字串:@manager.command def print_str(): print 'hello world'
[email protected]:~/projects/flaskTs$ python test.py print_str
hello world
克隆本專案:
git clone git@github.com:HymanLiuTS/flaskTs.git
獲取本文原始碼:
git checkout FL06