2017-06-19 36 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文件中包含或者是特別針對部署或祕密設置相同的目錄。然後我將它添加到忽略文件中,以查看我使用的任何修訂控制工具,以確保它永遠不會被提交。