跳转至

隐私数据脱敏

不同的环境需要不同的配置信息,但这些配置信息一般不希望暴露给别人,尤其是开源项目代码时

所以可以考虑将配置存储于环境变量中,环境变量可以非常方便地在不同的部署间做修改,而不需要修改代码

配置环境变量有三种方式:

  1. 手动配置,比较麻烦
  2. supervisor进程管理工具,比较混乱
  3. 自动导入环境变量的工具:python-dotenv,推荐

安装:pip install python-dotenv

# 将环境变量写入项目跟路径下的.env文件,并加入.gitignore规则中忽略其版本管理
# 加载环境变量,flask、django等框架默认会加载,所以不需要这两行代码
from dotenv import load_dotenv
load_dotenv()

# 获取配置信息
import os

value = os.getenv("KEY")

在flask项目开发中,可以将隐私数据写到.env中,而一些不隐私的变量,写到.flaskenv文件中

FLASK_APP=app.py  # 执行flask run默认运行app.py文件,不存在则会报错
FLASK_ENV=production  # 默认为生产环境,可改为开发环境:development,开启调试模式(启动项目时提示Debugger is active!)

Flask 提供了一个统一的接口来写入和获取这些配置变量:Flask.config字典,

app.config["KEY"] = value

配置变量名称必须大写,写入配置的语句一般会放到扩展类实例化语句之前

配置文档:https://flask.palletsprojects.com/en/1.0.x/config/


最后更新: 2021-07-12