タイトルが示唆しているように、私は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
ファイルで検索する方がよいでしょう。このようにして、あなたの鍵はコードベースに触れることはなく、OSの内部に安全に保持されます。
あなたのsettings.py
にこのような何かを行うことができます。
import os
API_KEY = os.environ.get('API_KEY_ENVIRONMENT_VARIABLE')
CLIENT_SECRET = os.environ.get('CLIENT_SECRET_KEY_ENVIRONMENT_VARIABLE')
は、この情報がお役に立てば幸い!
私は(これは、Python 2からだった)私のsettings.py
にこのような行を追加します。
try:
from local import *
except ImportError:
print 'The local settings could not be found.'
その後、私は、展開や秘密のいずれかに固有の設定が含まれている同じディレクトリにlocal.py
ファイルを作成します。それから私はそれがコミットされることがないことを確認するために使用するリビジョンコントロールツールの無視ファイルに追加します。
あなたの質問を指定してください。具体的には何を得ていますか? これはどうやってやろうとしていますか? –