“12-Factor” 是构建SaaS服务的一种方法论,这套理论适用于任意语言和后端服务(数据库、消息队列、缓存等)开发的应用程序。

其中有一条很重要的原则是关于配置的, 12-Factor 要求代码和配置严格分离。
为什么要这么做?
如果你的代码放在Github等外部网络,哪一天要是代码不小心泄露了,你的各种密码,密钥,等配置全都暴露于公网中,这是一件非常可怕的事。
判断一个应用是否正确的将配置与代码分离开了,一个简单方法是你的代码是否可以立刻开源,而不用担心有任何敏感信息暴露。
将应用的配置存储于环境变量中是一种常规做法,例如在命令行中加入:
export PASSWORD=123456
windows
set PASSWORD=123456业务代码中,通过环境变量来加载。
import os
env = os.environ.get("PASSWORD")
print(env)
这样做就不会将敏感信息暴露于业务代码中了,同时也可以最大程度让开发人员接触正式环境的敏感信息。
不过,问题来了,将敏感信息设置成环境变量,如果这样的信息非常多,挨个设置也太麻烦了。
你一定希望可以将这些敏感信息单独放在一个文件中,始终与代码分开管理
例如,我们在一个flask项目中,敏感信息我们专门放在一个叫.flaskenv 的文件中
.flaskenv 文件
FLASK_DEBUG=1
FLASK_ENV=local
AAA=1234
可是这些配置如何加载到环境变量中去?
python-dotenv
python-dotenv 就是专门干这事的,他能将配置文件的配置信息自动加入到环境变量。
安装 python-dotenv
pip install python-dotenv
加载配置文件
from dotenv import load_dotenv
# 加载文件
load_dotenv(".flaskenv")
import os
flask_env = os.environ.get("FLASK_ENV")
print(flask_env) # local
加载文件后,就可以通过os.environ从环境变量中读取内容。
flask配置最佳实践
在flask中,python-dotenv 可以无缝接入项目中,只要你的项目中存在 .env 或者 .flaskenv 文件,他就会提示你是否安装 python-dotenv
$ flask run
* Tip: There are .env files present. Do "pip install python-dotenv" to use them.
安装完后python-dotenv后,就会自动加载里面的配置文件到环境变量中。
# config.py
class LocalConfig(BaseConfig):
ENV = "development"
FLASK_DEBUG = 1
# 通过变量环境来加载数据库配置
SQLALCHEMY_DATABASE_URI = os.getenv("SQLALCHEMY_DATABASE_URI")
# app.py
def create_app():
app = Flask(__name__)
app.config.from_object(LocalConfig)
# view.py
def hello():
# 加载环境变量
os.environ.get("AAA")
相关推荐:
seo都有什么问题,seo都有什么问题和答案 ,ai凯旋公主下载
文章AI生成软件高效创作新纪元
seo资源是什么意思,seo资源怎么打开 ,梅州ai自动插件加工
seo要寻找什么资源,怎么找seo ,ai插画描边
ChatGPT维护-智能时代的数字助手,如何让你的工作更高效,ai智能救援
ChatGPT为什么访问不了了?了解背后的原因与解决方法,AI怎么拖入路径
好用的AI智能工具,让生活与工作更高效!
seo种草什么意思,seo yoo na ,三维地震反演AI
用AI写科普文章:科技改变写作的未来
ChatGPT常见问题汇总:解答你关于AI的一切疑惑,松鼠ai智能教适应教育
SEO实际:如何在竞争激烈的市场中脱颖而出,dz论坛seo如何设置
好用的AI写作工具,提升写作效率与创意的最佳选择
ChatGPT对于大数据发展的帮助:赋能行业变革,推动智能化未来,ai写作真的好吗
ChatGPT:打破语言障碍,理解与沟通的新时代,交通轨道ai
互联网快照:记录数字时代的每个瞬间,全网seo怎么优化内容
ChatGPT免费版下载:智能对话助手带来的全新体验,电脑怎么下载Ai微认证
SEO目的:如何通过精准优化提高网站流量与转化率,百度推广网站关键词
AI网站开发与代码创新:引领未来数字化变革的关键,ai ay规则
SEO行销:开启网站流量增长的秘密武器,百威产品关键词查询排名
SEO优化快:如何在短时间内实现网站流量爆发,Lacey0508ai
什么是seo在线咨询,什么是seo在线咨询服务 ,unreal ai
优化综合:引领高效发展的智慧之道,电影营销的推广方式
seo需要保持什么心态,seo的要求 ,ai83562
怎么用AI生成文章?全新写作方式的揭秘与应用指南
“标题制造机”:颠覆内容创作的秘密武器,助你轻松打造吸引力十足的标题,景区线上推广用哪些网站
互联网资源的无限潜力:如何利用数字世界为个人和企业创造价值,信阳网站建设正规公司
文章AI生成:让创作变得更简单、更高效!
ChatGPT支持多种语言输入输出,让全球资讯触手可及,联想拯救者的ai写作
360排名优化价格:打造高效网络营销的制胜法宝,ai换脸刘浩存自wei
ChatGPT破解:让AI打破语言与思维的边界,ai模板vis
AI写作的崛起-“只能AI写作”背后的巨大潜力,舞狮摄影ai
ChatGPT,您的银行卡被拒绝了?别慌,这些方法帮您快速解决问题!,ai给那个标声调
ChatGPT无法加载?检查网络并尝试重启,助您快速恢复畅通体验,burj ai
ChatGPT坏了用什么?替代方案,满足你的智能对话需求,星际一的ai
AI提取文章重要内容:让信息抓取更高效、更精准,松鼠ai 教学
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
互联网快排:助力企业网站流量爆发的秘密武器,西安网站建设找资源公司
SEO合同:确保您网站优化成功的关键保障,微博营销推广规则最新
SEO找词:如何精准找到高效关键词,提升排名和流量,河源网站优化平台
SEO中的别类词:提升排名,轻松超越竞争对手,ai插画生肖
SEO要素:优化网站排名的关键因素全解析,棒球大联盟营销推广文案
seo经理做什么的,seo经理招聘 ,盲人ai眼镜
用AI批量下载工具,高效管理你的文件和资源
SEO留痕:数字营销的隐性力量,如何通过SEO优化让品牌更具竞争力,铁岭网站关键词建设优化
WPJVX:开启数字化未来的智慧平台,关键词排名技术咨询乐云seo
WPQQ-开启数字时代的智能连接新纪元,杭州网站推广厂家电话
SEO优化的利器:提升网站排名的秘密武器,联想ai7g-3笔记本
ChatGPT目前,我无法查看或打开附件,但我依然能为你提供全面的帮助,苹果ai谷歌ai
SEO大量优化:如何通过精准策略提升网站流量,突破搜索引擎排名瓶颈,吕梁本地网站推广平台
seo网站页面优化包括什么,seo页面优化技术 ,no ai写作