1. 程式人生 > >Flask系列教程(3)——專案配置

Flask系列教程(3)——專案配置

如果想深入學習Flask,可以觀看這套免費Flask教學視訊:Flask入門到專案實戰

專案配置

設定為DEBUG模式:

預設情況下flask不會開啟DEBUG模式,開啟DEBUG模式後,flask會在每次儲存程式碼的時候自動的重新載入程式碼,並且如果程式碼有錯誤,會在終端進行提示。

開啟DEBUG模式有三種方式:

  1. 直接在應用物件上設定:

    app.debug = True
    app.run()
  2. 在執行run方法的時候,傳遞引數進去:

    app.run(debug=True)
  3. 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模式:

pycharm開啟debug模式

配置檔案:

Flask專案的配置,都是通過app.config物件來進行配置的。比如要配置一個專案處於DEBUG模式下,那麼可以使用app.config['DEBUG] = True來進行設定,那麼Flask專案將以DEBUG模式執行。在Flask專案中,有四種方式進行專案的配置:

  1. 直接硬編碼:

    app = Flask(__name__)
    app.config['DEBUG'
    ] = True
  2. 因為app.configflask.config.Config的例項,而Config類是繼承自dict,因此可以通過update方法:

    app.config.update(
    DEBUG=True,
    SECRET_KEY='...'
    )
  3. 如果你的配置項特別多,你可以把所有的配置項都放在一個模組中,然後通過載入模組的方式進行配置,假設有一個settings.py模組,專門用來儲存配置項的,此時你可以通過app.config.from_object()方法進行載入,並且該方法既可以接收模組的的字串名稱,也可以模組物件:

    
    # 1. 通過模組字串
    
    app.config.from_object('settings')
    
    # 2. 通過模組物件
    
    import settings
    app.config.from_object(settings)
  4. 也可以通過另外一個方法載入,該方法就是app.config.from_pyfile(),該方法傳入一個檔名,通常是以.py結尾的檔案,但也不限於只使用.py字尾的檔案:

    app.config.from_pyfile('settings.py',silent=True)
    
    # silent=True表示如果配置檔案不存在的時候不丟擲異常,預設是為False,會丟擲異常。
    

    Flask專案內建了許多的配置項,所有的內建配置項,可以在這裡檢視

如果想深入學習Flask,可以觀看這套免費Flask教學視訊:Flask入門到專案實戰