正如標題所示 - 我正在尋找在我的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
文件中包含或者是特別針對部署或祕密設置相同的目錄。然後我將它添加到忽略文件中,以查看我使用的任何修訂控制工具,以確保它永遠不會被提交。
指定你的問題,你明白什麼不明白嗎? 你現在怎麼嘗試這樣做? –