正如标题所示 - 我正在寻找在我的Django项目的settings.py中使用API_KEYS,CLIENT_SECRETS等的最佳实践。我似乎无法找到我正在寻找什么 - 文件明智。在settings.py中使用API_KEYS和CLIENT_SECRETS的最佳实践
问一个隐含的问题:在开发和生产中存储这些信息的最佳方法是什么?
正如标题所示 - 我正在寻找在我的Django项目的settings.py中使用API_KEYS,CLIENT_SECRETS等的最佳实践。我似乎无法找到我正在寻找什么 - 文件明智。在settings.py中使用API_KEYS和CLIENT_SECRETS的最佳实践
问一个隐含的问题:在开发和生产中存储这些信息的最佳方法是什么?
在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')
希望这有助于!
我补充这样的线路我settings.py
(这是在Python 2):
try:
from local import *
except ImportError:
print 'The local settings could not be found.'
然后,我创建一个local.py
文件中包含或者是特别针对部署或秘密设置相同的目录。然后我将它添加到忽略文件中,以查看我使用的任何修订控制工具,以确保它永远不会被提交。
指定你的问题,你明白什么不明白吗? 你现在怎么尝试这样做? –