正如标题所示 - 我正在寻找在我的Django项目的settings.py中使用API_KEYS,CLIENT_SECRETS等的最佳实践。我似乎无法找到我正在寻找的东西 - 明智的文档。
提出一个隐含的问题:在开发和生产中存储这些信息的最佳方法是什么?
答案 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文件中,用于我用来确保它永远不会被提交的任何修订控制工具。