我试图隐藏webfaction上的django应用程序的数据库密码等安全信息 但我无法找到使用环境变量设置这些信息的方式和位置?
答案 0 :(得分:4)
我开发了一个可以用pip安装的软件包:
pip install djangosecure
在您的settings.py中,您可以使用以下内容:
import djangosecure
...
DATABASES = {
'default': djangosecure.get_database('production'),
}
...
首次运行manage命令时,系统将提示您输入数据库信息。
它可用于保护更多设置,请参阅以下自述文件: fiddle demo
<强>更新强> 更新:djangosecure&gt; = 0.0.4不再有get_database()函数,它现在基于类工作,所以新的ussage将是:
from djangosecure import DjangoDatabaseSettings
databases = DjangoDatabaseSettings(os.path.join(PROJECT_ROOT, 'databases.cnf'),
crypto_key_file='path/to/your/cryptokey)
DATABASES = {
'default': 'default': databases.settings('production'),
}
答案 1 :(得分:1)
将它们添加到bash_profile
。
在运行中进行SSH:
nano ~/.bash_profile
然后添加所需的变量并保存。例如:
export DATABASE_URL=postgres://username:password@host:port/databasename
这将创建一个名为DATABASE_URL
的环境变量,其中包含字符串的内容。要进行测试,请在终端中运行echo $DATABASE_URL
。