我有一个烧瓶应用程序,我希望将所有常量(包括我的应用程序的电子邮件常量)添加到表格中并从那里访问它们。
我们可以这样做吗?这是一个很好的方法吗?
或者是否有更好的替代方案,而不是凭证明文。
答案 0 :(得分:1)
如果我错了你提出这个问题的原因,请纠正我:
案例1:
您不希望您的密码在配置文件中清晰可见。
案例2:
您的代码可能属于公共领域,并且您不希望自己的API密钥和密码可见。
案例3:
在生产环境中,config.py不应该是易受攻击的,因为它将密码存储为纯文本。
案例1: 您可以将凭据存储在环境变量中 `
MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')
`
案例2:
您可以在Flask中使用Instance folder的概念
你将拥有一个私有的config.py实例,你不需要在版本控制中添加
config.py
requirements.txt
run.py
instance/
config.py
yourapp/
__init__.py
models.py
views.py
templates/
static/
在config.py上使用实例
app = Flask(__name__, instance_relative_config=True)
app.config.from_object('config')
app.config.from_pyfile('config.py')
请参考this,我们会深入了解。
案例3:引用this thread
生产服务器的一个好解决方案是托管邮件代理,例如sendmail或postfix,或者使用第三方电子邮件服务。如果您在Flask应用程序所在的主机上托管邮件代理,则可以将其配置为在客户端来自localhost时不需要身份验证,这样就无需在配置文件或环境中存储凭据。