更新時間:2023-04-20 來源:黑馬程序員 瀏覽量:
Flask是一個用Python編寫的微框架,它可以幫助開發(fā)者在短時間內完成一個功能豐富的Web應用程序。在Flask中,若需要在程序中使用配置信息,以便對程序的一些行為進行定制,則可以采用多種方式將配置信息保存到Flask類對象的config屬性中。config屬性的值是一個flask.Config類的對象,flask.Config類是一個Python字典子類,它的工作方式類似于字典,既可以通過訪問字典元素的方式使用配置信息,也可以通過flask.Config類提供的導入配置項的方法使用配置信息。
本節(jié)我們介紹Flask配置信息的使用,通過訪問字典元素、導入文件和導入對象這3種方式使用配置信息。
可以通過訪問字典元素的方式獲取Flask程序的配置項,并重新為該配置項賦值。例如,通過為Flask類的對象app設置配置項TESTING,以啟用測試模式,代碼如下所示。
app.config['TESTING'] = True
若希望一次修改多個配置項,則可以調用flask.Config從父類繼承的update()方法實現。例如,為Flask類的對象app設置配置項TESTING和SECRET_KEY,從而使程序啟用測試模式以及設置密鑰,具體代碼如下所示。
app.config.update( TESTING=True, SECRET_KEY=b'_5#y2L"F4Q8z\n\xec]/' )
可以將所有的配置項存入單獨的文件中,之后將該文件導入到Flask程序。flask.Config類中提供了一些從文件中導入配置項的方法,關于這些方法的介紹如下。
●from_file():從指定的文件中導入配置項,并更新配置項的值。
●from_pyfile():從.py文件中導入配置項,并更新配置項的值。
#通過from_file()方法從config.json文件中導入配置項 import json app.config.from_file("config.json", load=json.load) #通過from_pyfile()方法從config.py文件中導入配置項 app.config.from_pyfile("config.py")
可以通過定義Python類屬性的方式設置配置項,之后將包含配置項的Python類的對象導入到Flask程序中。flask.Config類中提供了一些從Python類中導入配置項的方法
from_object(),from_object()方法用于從給定對象中導入配置項,并更新配置項的值。需要說明的是,from_object()方法只會加載Python類中以大寫字母命名的屬性。如果Python類中有一個@property屬性,則該類在被傳遞給from_object()方法之前需要進行實例化。
定義一個包含兩個配置項TESTING和SECRET_KEY的類Settings,之后調用from_object(O方法從Settings類中加載配置項,并在程序中使用這些配置信息,具體代碼如下所示。