首页 > 解决方案 > .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文件是否更安全?

感谢您的帮助:-)

标签: pythonflaskenvironment-variablesconfig

解决方案


它更安全。config.py是您代码的一部分,没有它您的应用程序将无法运行。因此,如果您发布应用程序的代码或与大学分享,您也应该分享config.py。但是你不应该发布你的 env 文件。当有人运行你的代码时,他们可以通过查看config.py. 这是告诉人们在您的应用程序中需要哪些配置变量的方式,而不会影响您自己的该应用程序实例的安全性。


推荐阅读