前幾天我們已經初步的了解甚麼是Flask了,也能夠成功的做出我們的一個網頁了,那我們今天來看看Flask的配置管理吧
Flask配置管理是指在Flask應用中對不同配置項進行集中管理的機制。我們可以透過在主程式裡面直接寫入配置,這在小型的開發中不一定是壞事,但如果我們開發的越來越大型了呢?這可能就不太好了,所以我們通常都會另外再寫一個config來儲存這些配置的訊息,這樣可以把配置跟程式碼邏輯獨立出來,可以避免將配置硬編碼到程式碼中,降低耦合度,也可以方便我們統一管理,例如在開發、生產或是測試的時候會有不同的配置,把這些資訊儲存在一起也能避免我們混亂。但如果是ㄧ些敏感性的參數還是建議採用環境變數來設置。
講了這麼多,我們直接來看一下怎麼設定吧。
config其實是一個字典的子類別,所以我們可以像字典一樣操作。而在Flask對於config的配置方式有幾個方法:
from flask import Flask
app = Flask(__name__)
app.config["DEBUG"] = True
@ app.route("/")
def index():
return "Hello World"
if __name__ == "__main__":
app.run()
這個方式是最基本配置方式,我們可以執行起來可以看到這樣就成功了,上面的app.config["DEBUG"]=True
這個的意思其實就跟app.run(debug=True)
一樣,但我們不可能有其他設定都在app.run()
裡面設定吧!
config = {
'DEBUG': True,
'TESTING': True,
}
app.config.update(config)
app.config.update()
也可以用傳入關鍵字參數的方式更新配置
app.config.update(
TESTING = True;
DEBUG: True
)
透過app.config.update()
可以用來同時更新多個配置像,而不是一個一個的去設定,
# config.py
DEBUG = True
TESTING = True
SECRET_KEY = 'secret key'
接著我們在app.py中可以將它引入
app.config.from_pyfile('config.py')
在撰寫配置時我們要知道幾點: