摘要:在中的參數(shù)配置保存在對(duì)象的屬性中。其中的用法和,但是的更為友好。從環(huán)境變量讀取對(duì)于某些敏感信息如加密密鑰并不適合放在程序包中。
在Flask中的參數(shù)配置保存在Flask對(duì)象的config屬性中。
config實(shí)際上繼承于字典,可以像修改字典一樣修改它:
app = Flask(__name__) app.config["TESTING"] = TRUE
相應(yīng)的配置會(huì)直接推送到Flask對(duì)象上,所以你可以直接在Flask對(duì)象上讀寫:
app.testing = True
可以使用dict.update()方法來批量更新鍵值對(duì):
app.config.update( TESTING=True, SECRETE_KEY=b"^*&BKJH^*" )
主要有三種參數(shù)配置方法:
即通常的 ‘字典式’ 配置方法,如我們要配置SQLAlchemy中的數(shù)據(jù)庫(kù)連接URL:
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+mysqlconnector://test:test@localhost/test"
相對(duì)于1中的配置方法,一個(gè)更為優(yōu)雅解決方法是從多帶帶的文件中讀取配置。
app = Flask(__name__) app.config.from_object("yourapplication.default_settings") app.config.from_envvar("YOURAPPLICATION_SETTINGS")
其中 app.config.from_envvar("YOURAPPLICATION_SETTINGS") 的用法和 app.config.from_pyfile(os.environ["YOURAPPLICATION_SETTINGS"]) ,但是app.config.from_envvar的error message更為友好。
對(duì)于某些敏感信息(如加密密鑰)并不適合放在程序包中。在Linux中,我們可以這樣在環(huán)境變量中設(shè)置:
$ export SECRET_KEY="5f352379324c22463451387a0aec5d2f" $ export DEBUG=False
有一點(diǎn)需要注意的是,環(huán)境變量中設(shè)置的值都是字符串--并不會(huì)直接解析為python中的類型.
下面是一個(gè)使用環(huán)境變量的例子:
# Example configuration import os ENVIRONMENT_DEBUG = os.environ.get("DEBUG", default=False) if ENVIRONMENT_DEBUG.lower() in ("f", "false"): ENVIRONMENT_DEBUG = False DEBUG = ENVIRONMENT_DEBUG SECRET_KEY = os.environ.get("SECRET_KEY", default=None) if not SECRET_KEY: raise ValueError("No secret key set for Flask application")
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41674.html
摘要:接收用戶請(qǐng)求并分析請(qǐng)求的。執(zhí)行函數(shù)并生成響應(yīng),返回給瀏覽器。這個(gè)過程我們稱為注冊(cè)路由,路由負(fù)責(zé)管理和函數(shù)之間的映射,而這個(gè)函數(shù)則被稱為視圖函數(shù)。文件是一個(gè)名為的文本文件,它存儲(chǔ)了項(xiàng)目中提交時(shí)的忽略文件規(guī)則清單。 flask簡(jiǎn)述 Flask 是一個(gè)基于 Python 開發(fā)并且依賴 jinja2 模板和 Werkzeug WSGI 服務(wù)的一個(gè)微型框架,對(duì)于 Werkzeug 本質(zhì)是 Soc...
摘要:最經(jīng)典的就是了暫時(shí)性重定向的狀態(tài)碼是,表示頁(yè)面暫時(shí)性被跳轉(zhuǎn),比如訪問一個(gè)需要權(quán)限的網(wǎng)址,如果當(dāng)前用戶沒有登錄,應(yīng)該重定向到登錄頁(yè)面。作為額外的消息頭如果以上的條件都不滿足,會(huì)假設(shè)返回值是一個(gè)合法的應(yīng)用程序,并通過轉(zhuǎn)換成一個(gè)請(qǐng)求對(duì)象。 flask基礎(chǔ)之一 hello world #從flask這個(gè)包中導(dǎo)入Flask這個(gè)類 #Flask這個(gè)類是項(xiàng)目的核心,以后的很多操作都是基于這個(gè)類的對(duì)象...
摘要:最經(jīng)典的就是了暫時(shí)性重定向的狀態(tài)碼是,表示頁(yè)面暫時(shí)性被跳轉(zhuǎn),比如訪問一個(gè)需要權(quán)限的網(wǎng)址,如果當(dāng)前用戶沒有登錄,應(yīng)該重定向到登錄頁(yè)面。作為額外的消息頭如果以上的條件都不滿足,會(huì)假設(shè)返回值是一個(gè)合法的應(yīng)用程序,并通過轉(zhuǎn)換成一個(gè)請(qǐng)求對(duì)象。 flask基礎(chǔ)之一 hello world #從flask這個(gè)包中導(dǎo)入Flask這個(gè)類 #Flask這個(gè)類是項(xiàng)目的核心,以后的很多操作都是基于這個(gè)類的對(duì)象...
摘要:最經(jīng)典的就是了暫時(shí)性重定向的狀態(tài)碼是,表示頁(yè)面暫時(shí)性被跳轉(zhuǎn),比如訪問一個(gè)需要權(quán)限的網(wǎng)址,如果當(dāng)前用戶沒有登錄,應(yīng)該重定向到登錄頁(yè)面。作為額外的消息頭如果以上的條件都不滿足,會(huì)假設(shè)返回值是一個(gè)合法的應(yīng)用程序,并通過轉(zhuǎn)換成一個(gè)請(qǐng)求對(duì)象。 flask基礎(chǔ)之一 hello world #從flask這個(gè)包中導(dǎo)入Flask這個(gè)類 #Flask這個(gè)類是項(xiàng)目的核心,以后的很多操作都是基于這個(gè)類的對(duì)象...
閱讀 2800·2021-09-01 10:30
閱讀 1690·2019-08-30 15:52
閱讀 979·2019-08-29 18:40
閱讀 1134·2019-08-28 18:30
閱讀 2405·2019-08-23 17:19
閱讀 1333·2019-08-23 16:25
閱讀 2711·2019-08-23 16:18
閱讀 2988·2019-08-23 13:53