登录
首页 >  文章 >  python教程

Flask设置环境变量教程详解

时间:2025-11-18 10:22:18 160浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《Flask配置Python环境变量教程》,文章讲解的知识点主要包括,如果你对文章方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

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

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

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

使用 .env 文件管理环境变量

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

安装 python-dotenv:

pip install python-dotenv

在项目根目录创建 .env 文件:

FLASK_APP=app.py
FLASK_ENV=development
DATABASE_URL=sqlite:///site.db
SECRET_KEY=your-secret-key-here

在 Flask 应用入口文件(如 app.py)中加载变量:

from dotenv import load_dotenv
load_dotenv()

这样 Flask 就能通过 os.getenv() 获取值:

import os
secret_key = os.getenv('SECRET_KEY')

在 Flask 中使用配置类

为了区分不同环境,建议使用配置类组织设置。

创建 config.py 文件:

import os

class Config:
   SECRET_KEY = os.getenv('SECRET_KEY', 'fallback-secret')

class DevelopmentConfig(Config):
   DEBUG = True
   DATABASE_URL = os.getenv('DATABASE_URL')

class ProductionConfig(Config):
   DEBUG = False
   DATABASE_URL = os.getenv('DATABASE_URL')

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

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 中添加:

.env
venv/
__pycache__/

同时提供一个 .env.example 文件供团队成员参考:

# .env.example
FLASK_APP=app.py
FLASK_ENV=development
SECRET_KEY=your-secret-key
DATABASE_URL=sqlite:///site.db

生产环境中的环境变量设置

部署到服务器或云平台时,不推荐使用 .env 文件。应通过系统或平台方式设置。

例如在 Linux 服务器启动应用前导出变量:

export FLASK_APP=app.py
export FLASK_ENV=production
export SECRET_KEY=real-secret-key
flask run --host=0.0.0.0

使用 Gunicorn 部署时同样依赖系统环境变量。

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

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

本篇关于《Flask设置环境变量教程详解》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>