在settings.py中使用API​​_KEYS和CLIENT_SECRETS的最佳实践

时间:2017-06-19 19:43:20

标签: python django passwords credentials django-settings

正如标题所示 - 我正在寻找在我的Django项目的settings.py中使用API​​_KEYS,CLIENT_SECRETS等的最佳实践。我似乎无法找到我正在寻找的东西 - 明智的文档。

提出一个隐含的问题:在开发和生产中存储这些信息的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

settings.py中使用API​​_KEYS和CLIENT_SECRET键的最佳做法是不将它们存储在那里!

最好在操作系统中设置环境变量,并在需要时在settings.py文件中检索它们。通过这种方式,您的密钥永远不会触及代码库并安全地保留在操作系统中。

您可以在settings.py

中执行以下操作
import os
API_KEY = os.environ.get('API_KEY_ENVIRONMENT_VARIABLE')
CLIENT_SECRET = os.environ.get('CLIENT_SECRET_KEY_ENVIRONMENT_VARIABLE')

希望这有帮助!

答案 1 :(得分:0)

我将这样的行添加到我的settings.py(这是来自Python 2):

try:
    from local import *
except ImportError:
    print 'The local settings could not be found.'

然后我在同一目录中创建一个local.py文件,其中包含特定于部署或机密的设置。然后我将它添加到ignore文件中,用于我用来确保它永远不会被提交的任何修订控制工具。