項(xiàng)目配置
設(shè)置為DEBUG模式:
默認(rèn)情況下flask
不會(huì)開啟DEBUG
模式,開啟DEBUG
模式后,flask會(huì)在每次保存代碼的時(shí)候自動(dòng)的重新載入代碼,并且如果代碼有錯(cuò)誤,會(huì)在終端進(jìn)行提示。
開啟DEBUG
模式有三種方式:
-
直接在應(yīng)用對(duì)象上設(shè)置:
app.debug = True app.run()
-
在執(zhí)行
run
方法的時(shí)候,傳遞參數(shù)進(jìn)去:app.run(debug=True)
在
config
屬性中設(shè)置:
app.config.update(DEBUG=True)
如果一切正常,會(huì)在終端打印以下信息:
* 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)
需要注意的是,只能在開發(fā)環(huán)境下開啟DEBUG
模式,因?yàn)?code>DEBUG模式會(huì)帶來(lái)非常大的安全隱患。
另外,在開啟了DEBUG
模式后,當(dāng)程序有異常而進(jìn)入錯(cuò)誤堆棧模式,你第一次點(diǎn)擊某個(gè)堆棧想查看變量值的時(shí)候,頁(yè)面會(huì)彈出一個(gè)對(duì)話框,讓你輸入PIN
值,這個(gè)PIN
值在你啟動(dòng)的時(shí)候就會(huì)出現(xiàn),比如在剛剛啟動(dòng)的項(xiàng)目中的PIN
值為294-745-044,你輸入這個(gè)值后,Werkzeug
會(huì)把這個(gè)PIN
值作為cookie
的一部分保存起來(lái),并在8小時(shí)候過(guò)期,8小時(shí)以內(nèi)不需要再輸入PIN值。這樣做的目的是為了更加的安全,讓調(diào)試模式下的攻擊者更難攻擊到本站。
pycharm開啟debug模式:
配置文件:
Flask
項(xiàng)目的配置,都是通過(guò)app.config
對(duì)象來(lái)進(jìn)行配置的。比如要配置一個(gè)項(xiàng)目處于DEBUG
模式下,那么可以使用app.config['DEBUG] = True
來(lái)進(jìn)行設(shè)置,那么Flask
項(xiàng)目將以DEBUG
模式運(yùn)行。在Flask
項(xiàng)目中,有四種方式進(jìn)行項(xiàng)目的配置:
-
直接硬編碼:
app = Flask(__name__) app.config['DEBUG'] = True
-
因?yàn)?code>app.config是
flask.config.Config
的實(shí)例,而Config
類是繼承自dict
,因此可以通過(guò)update
方法:app.config.update( DEBUG=True, SECRET_KEY='...' )
-
如果你的配置項(xiàng)特別多,你可以把所有的配置項(xiàng)都放在一個(gè)模塊中,然后通過(guò)加載模塊的方式進(jìn)行配置,假設(shè)有一個(gè)
settings.py
模塊,專門用來(lái)存儲(chǔ)配置項(xiàng)的,此時(shí)你可以通過(guò)app.config.from_object()
方法進(jìn)行加載,并且該方法既可以接收模塊的的字符串名稱,也可以模塊對(duì)象:# 1\. 通過(guò)模塊字符串 app.config.from_object('settings') # 2\. 通過(guò)模塊對(duì)象 import settings app.config.from_object(settings)
-
也可以通過(guò)另外一個(gè)方法加載,該方法就是
app.config.from_pyfile()
,該方法傳入一個(gè)文件名,通常是以.py
結(jié)尾的文件,但也不限于只使用.py
后綴的文件:app.config.from_pyfile('settings.py',silent=True) # silent=True表示如果配置文件不存在的時(shí)候不拋出異常,默認(rèn)是為False,會(huì)拋出異常。
Flask
項(xiàng)目?jī)?nèi)置了許多的配置項(xiàng),所有的內(nèi)置配置項(xiàng),可以在這里查看。
如果想深入學(xué)習(xí)Flask,可以觀看這套免費(fèi)Flask教學(xué)視頻:Flask入門到項(xiàng)目實(shí)戰(zhàn)
</article>
版權(quán)聲明: https://blog.csdn.net/huangyong1314/article/details/74645592