在Django App中存储生产环境变量的推荐方法

时间:2016-03-15 21:40:31

标签: python django git python-2.7 production-environment

我有一个django应用程序,它使用env变量来处理数据库密码,django_secret_key,api密钥等等。

我想在生产中使用env变量,但是想要将这些值的值保留在git之外。最好的方法是:

  1. 存储敏感的生产环境变量
  2. 将变量加载到生产环境中
  3. 提前致谢。

2 个答案:

答案 0 :(得分:0)

您的问题可能基于意见......

  • 例如,您可以从不是settings.py的配置文件中读取内容。
  • 您可以使用local-devel.py来分割设置,这会覆盖settings.py
  • 中的内容

请参阅此处的示例:https://code.djangoproject.com/wiki/SplitSettings或者这样的问题:How to manage local vs production settings in Django?(我个人觉得这很难看......)。

我使用salt-stack并将所有敏感信息放在支柱中,但这可能对单个开发人员来说太过分了。

您可以使用某种状态来设置环境变量,以便您的wsgi应用程序可以看到这些变量。

答案 1 :(得分:0)

您可以在服务器上放置文件(配置文件)。 您可以在repo中有一个默认配置文件以供参考,但是您可以使用以下方法“隐藏”具有生产值的文件:

https://git-scm.com/docs/git-update-index

--assume-unchanged

git update-index --assume-unchanged <path>

如果您需要打印标有--assume-unchanged标志的文件列表:

git ls-files -v|grep '^h'

enter image description here