0%

Flask Config 載入方式

Flask Config 載入方式

Flask config 內建變數很多,可以參考 官方Builtin Configuration Values,中文翻譯可以參考內置的配置值,這裡用DEBUG這個變數說明Config載入方。

以簡單程式碼為範例說明

預設沒有指定DEBUG是表False,不開啟程式debug模式。

1
2
3
4
5
6
7
8
from flask import Flask
app=Flask(__name__)
@app.route('/')
def index():
return '<center><h1>Hello World</h1></center>'

if __name__ == '__main__':
app.run()

執行之後可以看到 ,預設沒有debug模式。
Flask_NO_Debug

若有開啟debug模式,如下:
Flask_Debug

  • 以陣列方式(寫在code裡)
    1
    2
    3
    4
    5
    from flask import Flask
    app=Flask(__name__)
    ...略...
    app.config["DEBUG"]=True
    ...略...
  • 加入參數到app.run() (寫在code裡)
    1
    2
    3
    4
    5
    from flask import Flask
    app=Flask(__name__)
    ..略..
    if __name__ == '__main__':
    app.run(debug=True)
  • 以傳入模組物件方式 (寫在code裡)
    1
    2
    3
    4
    5
    6
    from flask import Flask
    app=Flask(__name__)
    ...略...
    DEBUG=True
    app.config.from_object(__name__)
    ...略...
  • 以傳入模組物件方式 (寫在另一個檔案裡;config.py)
    config.py
    1
    DEBUG=True
    1
    2
    3
    4
    5
    from flask import Flask
    app=Flask(__name__)
    ...略...
    app.config.from_object('config')
    ...略...
    或是也可這樣表示
    1
    2
    3
    4
    5
    6
    from flask import Flask
    import config
    app=Flask(__name__)
    ...略...
    app.config.from_object('config')
    ...略...
  • 透過檔案名稱方式載入
    1
    2
    3
    4
    5
    from flask import Flask
    app=Flask(__name__)
    ...略...
    app.config.from_pyfile('config.py')
    ...略...
  • 透過系統的環境變數載入
    1
    # export tt='config.py'
1
2
3
4
5
from flask import Flask
app=Flask(__name__)
...略...
app.config.from_envvar('tt')
...略...

參考資料

歡迎關注我的其它發布渠道