DBS*_*DBS 6 apache centos flask
我尝试在 CentOS 中将敏感信息设置为环境变量,并将它们传递给主文件中使用的 Flask 配置文件,即 init .py 。但这没有用。Flask 应用程序在 Apache 下运行。
我首先以 root 用户身份编辑 /etc/environment
MAIL_USERNAME="abcde@abc.com"
Run Code Online (Sandbox Code Playgroud)
然后注销,再次登录 然后通过运行验证 MAIL_USERNAME 是否已设置
echo $MAIL_USERNAME
Run Code Online (Sandbox Code Playgroud)
这很好用
在configuration.py中,这就是我设置MAIL_USERNAME的方式。
MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
Run Code Online (Sandbox Code Playgroud)
出于测试目的,我打印出 MAIL_USERNAME
in __init__.py
print(MAIL_USERNAME)
Run Code Online (Sandbox Code Playgroud)
然后从终端,如果我运行
python3.4 __init__.py
Run Code Online (Sandbox Code Playgroud)
它打印出 MAIL_USERNAME 的正确值
但是,如果我在网络浏览器上进行测试,则 MAIL_USERNAME 未设置。它显示无。我通过查看 Apache 日志来验证这一点。
任何关于这是如何工作的想法将不胜感激。
谢谢
使用 CLI,根据需要设置环境变量。在 Linux 和 macOS 上,这是通过export KEY=value.
之后,环境变量KEY将可通过 Python 脚本或 Flask 应用程序使用os.environ.get('KEY'),如下所示:
import os
print os.environ.get('key')
>>> value
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20670 次 |
| 最近记录: |