ジャンゴ、秘密記憶された設定/読み出し方法と共通のアカウント

序文

他のDjangoコードのビューでは、私は、文書の多くは、マネージャと類似していることがわかりました

は/ usr / binに/ envをパイソン!
インポートのOS
 インポートsysの

場合 __name__ == ' __main__ ' 
    os.environ.setdefault(' DJANGO_SETTINGS_MODULE '' conf.development.settingsは' してみてくださいから django.core.management 輸入execute_from_command_line
     除きますEXCとしてはImportError:
         調達(はImportErrorを
             ジャンゴをインポートできませんでしたあなたはそれがインストールされていますよろしいですと。
            "あなたのPYTHONPATH環境変数で利用できますか?あなたはなかった
            仮想環境をアクティブにするために忘れてしまったら?" からEXCの
    execute_from_command_line(sys.argvの)

これは

その後の展開時間と設定ファイルがsetting.pyを.envた参照、環境変数を設定する必要があるが、これはそれが起こったのかですか?

テキスト

前の例にプロジェクトを取り、同僚は、このような構造と書きました。

Djangoのsettings.pyは、いくつかの秘密口座を保存するために、同じディレクトリにも.envファイルの下で、生産フォルダの下のconfフォルダに保存された設定の一部を持っています

だから、着信要求は、Djangoはあるときにどのようにこれらの構成にそれを取得するには?

さんが入る要求を見てみましょう

スーパーバイザが現在のシェルの環境変数の設定を書き込みますとき、最初の全体的なホスティング(スーパーバイザ構成が抜粋の下にあったように)

環境= DJANGO_SETTINGS_MODULE = conf.production.settings

プロセスのこの時点で、環境変数DJANGO_SETTINGS_MODULEのconf.production.settingsあり

次に、settings.pyを解析し、ファイルを見つけるために環境変数をDjangoの従います

コードの一部を見てみましょうsettings.py

 初めに、osモジュールとdotenvを引用

doventモジュールは、コードコメントとして環境変数に格納された対応するキーの各行K = Vファイルフォーマット解析を.envできます

#のスプライシングは電流経路がファイル.envの絶対パスである 
dotenv_path =参加(DIRNAME(__FILE__)、.env #1 load_dovent解析されたアクションアイテム.env設定ファイル環境変数書き込ま 
load_dotenv(dotenv_path)

抜粋を提出し.env

 

 その後、我々が見つかりました。いくつかの秘密のアカウント構成でSettings.pyは.envに格納され、設定で導入された環境変数を書き込むことによって開始します

 

読み取りキーに従ってos.environ.get環境変数を使用し、

そして、いくつかの重要度の低いまたは(例えばジャンゴどの時間帯など)と同じ、それが明示settings.pyで書かれている直接読み込みます

ベネフィット

見掛け密度がセキュリティファイル.envを高めるために、個々のストレージ部分を占め、頻繁に変更設定項目書か.env部分も、メンテナンス性を向上させることが

しかし、以前に理解することがより困難になることがあり、学生の同様のパターンを行っていないため、これはまた、この記事のどこ目的です。私はあなたの助けを願っています。

 

おすすめ

転載: www.cnblogs.com/chnmig/p/11654621.html