1. 程式人生 > >用flask開發個人部落格(6)—— 為flask程式新增命令列直譯器

用flask開發個人部落格(6)—— 為flask程式新增命令列直譯器

一 引入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.command
def print_str():
    print 'hello world'
        上面,為manager例項增加了一個print_str的命令,我們在終端按照以下方式呼叫,即可打印出字串:
[email protected]:~/projects/flaskTs$ python test.py print_str
hello world

克隆本專案:
git clone git@github.com:HymanLiuTS/flaskTs.git
獲取本文原始碼:
git checkout FL06