Flask1.0.2系列(十八) 開發伺服器
阿新 • • 發佈:2019-01-04
英文原文地址:http://flask.pocoo.org/docs/1.0/server/
若有翻譯錯誤或者不盡人意之處,請指出,謝謝~
從Flask0.11版本開始,這裡有多種內建方法來執行一個開發伺服器。最好的方法是使用flask命令列工具,但是你也可以繼續使用Flask.run()函式。
1. 命令列
在開發時,強烈推薦使用flask命令列指令碼(上一章內容)。因為它提供了一個出眾的過載體驗。基本用法如下:
$ export FLASK_APP=my_application $ export FLASK_ENV=development $ flask run
這裡啟用了開發環境,也包含了互動式偵錯程式和重新載入器,並且隨後在http://localhost:5000/上啟動服務。
服務單獨的特定也能通過傳遞引數給run選項來控制。舉個栗子,重新載入器被禁用:
$ flask run --no-reload
注意:
在Flask1.0之前,FLASK_ENV環境變數是不被支援的,並且你需要使用匯出FLASK_DEBUG=1來啟用除錯模式。這種方式依然可以控制除錯模式,但是你應該傾向於上面的方式來設定開發環境。
2. 在程式碼中
另一種啟動應用程式的方法,是使用Flask.run()函式。這種立即啟動一個本地服務的方式,與flask指令碼所做的完全一樣。
舉個栗子:
if __name__ == '__main__':
app.run()
這對於一般情況來說很有效,但對於開發來說卻不是很友好,這就是為什麼從Flask0.11開始,推薦使用flask命令的方法。這樣做的原因是,由於過載機制是何如工作的,有一些奇怪的副作用(比如執行某些程式碼兩次,有時在沒有訊息的情況下崩潰,或者在出現語法或匯入錯誤時掛掉了)。
然而,它仍然是一種呼叫非自動過載應用程式的非常有效的方法。