python - .env 文件或配置类
问题描述
我是否有理由使用以下内容:
from flask import Flask
import stripe
class Config():
STRIPE_SECRET_KEY = 'stripe-secret-key'
app = Flask(__name__)
app.config.from_object(Config)
stripe.api_key = app.config['STRIPE_SECRET_KEY']
而不是填充.env
文件,export STRIPE_SECRET_KEY="stripe-secret-key"
然后使用:
from environs import Env
from flask import Flask
import stripe
env = Env()
env.read_env()
stripe.api_key = env.str('STRIPE_SECRET_KEY')
即为什么我不将所有环境变量存储在Config
类中,而不是.env
文件中?使用.env
文件是否更安全?
感谢您的帮助:-)
解决方案
它更安全。config.py
是您代码的一部分,没有它您的应用程序将无法运行。因此,如果您发布应用程序的代码或与大学分享,您也应该分享config.py
。但是你不应该发布你的 env 文件。当有人运行你的代码时,他们可以通过查看config.py
. 这是告诉人们在您的应用程序中需要哪些配置变量的方式,而不会影响您自己的该应用程序实例的安全性。
推荐阅读
- java - Spring Boot 应用程序在 unix 环境中被关闭
- reactjs - 从 useEffect 返回承诺
- discord.py - Discord.py 通过反应添加角色
- qt - 为 RichText 类型自动调整 qml 中的文本大小
- authorization - 带通配符的 Istio AuthorizationPolicy
- python - Pyinstaller --add-data FileNotFoundError 同时保存数据
- docker - Docker 将非空容器文件夹挂载到主机
- google-apps-script - 谷歌表格脚本编辑器删除不需要的行
- reactjs - 如何导航?(未定义不是对象(评估“this.props”)
- azure-logic-apps - 使用逻辑应用向 JIRA 问题添加附件