2017-06-19 40 views
0

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

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

+0

指定你的问题,你明白什么不明白吗? 你现在怎么尝试这样做? –

回答

2

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

在OS中设置环境变量并在需要时在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

我补充这样的线路我settings.py(这是在Python 2):

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

然后,我创建一个local.py文件中包含或者是特别针对部署或秘密设置相同的目录。然后我将它添加到忽略文件中,以查看我使用的任何修订控制工具,以确保它永远不会被提交。