跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

如何为Flask应用配置Python环境变量_Flask项目Python环境变量配置教程

使用python-dotenv加载.env文件管理敏感信息,结合配置类区分开发与生产环境,通过系统或平台设置线上环境变量,确保安全与灵活切换。

在开发Flask应用时,合理配置Python环境变量能帮助我们管理敏感信息(如数据库密码、API密钥)和不同环境下的设置(开发、测试、生产)。直接把配置写进代码不仅不安全,还难以维护。下面介绍几种实用的环境变量配置方法。

使用 .env 文件管理环境变量最常见的方式是借助python-dotenv包,在项目根目录下创建.env文件来存储环境变量。

安装 python-dotenv:pip install python-dotenv在项目根目录创建.env

文件:

立即学习“Python免费学习笔记(深入)

”;

FLASK_APP=app.pyFLASK_ENV=developmentDATABASE_URL=sqlite:///site.dbSECRET_KEY=your-secret-key-here在 Flask 应用入口文件(如 app.py)中加载变量:from dotenv import load_dotenvload_dotenv()这样 Flask 就能通过os.getenv()

获取值:

import ossecret_key = os.getenv('SECRET_KEY')在 Flask 中使用配置类为了区分不同环境,建议使用配置类组织设置。

创建config.py

文件:

import osclass Config:SECRET_KEY = os.getenv('SECRET_KEY', 'fallback-secret')class DevelopmentConfig(Config):DEBUG = TrueDATABASE_URL = os.getenv('DATABASE_URL')class ProductionConfig(Config):DEBUG = FalseDATABASE_URL = os.getenv('DATABASE_URL')

在应用中根据环境选择配置:

Python 3.14.3微软官方的 Python 扩展,是 VS Code 安装量最高的扩展(209M+)。集成 IntelliSense(通过 Pylance)、调试(通过 Python Debugger)、代码检查、格式化、重构和单元测试等功能。支持 Jupyter Notebook、虚拟环境管理和多 Python 版本切换。

下载app = Flask(__name__)config_name = os.getenv('FLASK_ENV', 'development')if config_name == 'production':app.config.from_object('config.ProductionConfig')else:app.config.from_object('config.DevelopmentConfig')确保 .env 文件不被提交到版本控制.env文件通常包含敏感数据,应加入.gitignore避免泄露。

在 .gitignore 中添加:.envvenv/__pycache__/同时提供一个.env.example

文件供团队成员参考:

# .env.exampleFLASK_APP=app.pyFLASK_ENV=developmentSECRET_KEY=your-secret-keyDATABASE_URL=sqlite:///site.db生产环境中的环境变量设置部署到服务器或云平台时,不推荐使用 .env 文件。应通过系统或平台方式设置。

例如在 Linux 服务器启动应用前导出变量:export FLASK_APP=app.pyexport FLASK_ENV=productionexport SECRET_KEY=real-secret-keyflask run --host=0.0.0.0使用 Gunicorn 部署时同样依赖系统环境变量。

在 Heroku、Vercel 或其他 PaaS 平台,可在控制台界面或配置文件中设置环境变量。

基本上就这些。本地用 .env,线上用平台配置,配合配置类灵活切换,Flask 环境变量管理就很清晰了。

相关文章