Flask系列教程(3)——專案配置
如果想深入學習Flask,可以觀看這套免費Flask教學視訊:Flask入門到專案實戰
專案配置
設定為DEBUG模式:
預設情況下flask
不會開啟DEBUG
模式,開啟DEBUG
模式後,flask會在每次儲存程式碼的時候自動的重新載入程式碼,並且如果程式碼有錯誤,會在終端進行提示。
開啟DEBUG
模式有三種方式:
直接在應用物件上設定:
app.debug = True app.run()
在執行
run
方法的時候,傳遞引數進去:app.run(debug=True)
在
config
屬性中設定:
app.config.update(DEBUG=True)
如果一切正常,會在終端列印以下資訊:
* Restarting with stat
* Debugger is active!
* Debugger pin code: 294-745-044
* Running on http://0.0.0.0:9000/ (Press CTRL+C to quit)
需要注意的是,只能在開發環境下開啟DEBUG
模式,因為DEBUG
模式會帶來非常大的安全隱患。
另外,在開啟了DEBUG
模式後,當程式有異常而進入錯誤堆疊模式,你第一次點選某個堆疊想檢視變數值的時候,頁面會彈出一個對話方塊,讓你輸入PIN
值,這個PIN
值在你啟動的時候就會出現,比如在剛剛啟動的專案中的PIN
值為294-745-044,你輸入這個值後,Werkzeug
PIN
值作為cookie
的一部分儲存起來,並在8小時候過期,8小時以內不需要再輸入PIN值。這樣做的目的是為了更加的安全,讓除錯模式下的攻擊者更難攻擊到本站。
pycharm開啟debug模式:
配置檔案:
Flask
專案的配置,都是通過app.config
物件來進行配置的。比如要配置一個專案處於DEBUG
模式下,那麼可以使用app.config['DEBUG] = True
來進行設定,那麼Flask
專案將以DEBUG
模式執行。在Flask
專案中,有四種方式進行專案的配置:
直接硬編碼:
app = Flask(__name__) app.config['DEBUG'
因為
app.config
是flask.config.Config
的例項,而Config
類是繼承自dict
,因此可以通過update
方法:app.config.update( DEBUG=True, SECRET_KEY='...' )
如果你的配置項特別多,你可以把所有的配置項都放在一個模組中,然後通過載入模組的方式進行配置,假設有一個
settings.py
模組,專門用來儲存配置項的,此時你可以通過app.config.from_object()
方法進行載入,並且該方法既可以接收模組的的字串名稱,也可以模組物件:# 1. 通過模組字串 app.config.from_object('settings') # 2. 通過模組物件 import settings app.config.from_object(settings)
也可以通過另外一個方法載入,該方法就是
app.config.from_pyfile()
,該方法傳入一個檔名,通常是以.py
結尾的檔案,但也不限於只使用.py
字尾的檔案:app.config.from_pyfile('settings.py',silent=True) # silent=True表示如果配置檔案不存在的時候不丟擲異常,預設是為False,會丟擲異常。
Flask
專案內建了許多的配置項,所有的內建配置項,可以在這裡檢視。