目錄
一、使用?app.config?讀取配置
二、設置配置的幾種方式
1.?直接設置
2.?從 Python 文件加載
3.?從環境變量加載
4.?從字典加載
5.?從 .env 文件加載(推薦開發環境用)
三、讀取配置值
四、最佳實踐建議
在 Flask 中讀取配置信息有幾種常見方式,下面是詳細的說明和示例:
一、使用?app.config?讀取配置
Flask 提供了?app.config?對象來管理配置信息,支持從多種來源加載配置。
二、設置配置的幾種方式
1.?直接設置
from flask import Flaskapp = Flask(__name__)
app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'mysecretkey'
2.?從 Python 文件加載
創建一個?config.py?文件:
DEBUG = True
SECRET_KEY = 'mysecretkey'
DATABASE_URI = 'sqlite:///example.db'
在 Flask 應用中加載:
app.config.from_pyfile('config.py')
3.?從環境變量加載
import os
app.config.from_envvar('MYAPP_CONFIG') # 環境變量中包含配置文件路徑
設置環境變量:
export MYAPP_CONFIG=/path/to/config.py
4.?從字典加載
config_dict = {'DEBUG': True,'SECRET_KEY': 'mysecretkey'
}
app.config.from_mapping(config_dict)
5.?從 .env 文件加載(推薦開發環境用)
使用?python-dotenv:
# .env 文件內容
DEBUG=True
SECRET_KEY=mysecretkey
安裝庫并在 Flask 中啟用:
pip install python-dotenv
Flask 自動加載?.env(如果你使用 Flask CLI)或手動加載:
from dotenv import load_dotenv
load_dotenv()
import os
app.config['SECRET_KEY'] = os.getenv('SECRET_KEY')
三、讀取配置值
debug_mode = app.config.get('DEBUG', False)
secret = app.config['SECRET_KEY']
四、最佳實踐建議
- 把敏感配置(如數據庫密碼、密鑰)放在?.env?或環境變量中。
- 使用?config.py?管理分環境配置,如?config/dev.py,?config/prod.py。
- 可定義配置類:
class Config:DEBUG = FalseSECRET_KEY = 'defaultsecret'class DevConfig(Config):DEBUG = TrueDATABASE_URI = 'sqlite:///dev.db'app.config.from_object(DevConfig)