2017-05-27 12 views
1

(最初は私の悪い英語のため申し訳ありません)Django - データベースから設定ファイルに値を設定するにはどうしたらいいですか?

データベースに保存されているデータを使用して設定ファイルに値を設定する方法があるかどうかを知る必要があります。例えば

メール設定

EMAIL_HOST = '' 
EMAIL_HOST_USER = '' 
EMAIL_HOST_PASSWORD = '' 
EMAIL_PORT = 587 
EMAIL_USE_TLS = True 

私は、変数iは、当社のアプリケーションの設定のために私が持っているモデルでセーブデータを使用していることを埋めるのが好き。

しかし、設定ファイルがサーバが起動する前に読み込まれているように、私はこれを行う方法があるかどうかわかりません。

私が理解できることを願っています。

ありがとうございます!

答えて

0

私が知る限り、Django設定は不変であるはずです。これには複数の理由があります.Djangoはサーバの実行モデル(プリフォーク/マルチスレッド)を認識していません。

また、ORMで何かを使用する前に設定をロードする必要があるため、Djangoモデルから設定自体を読み込むことはできません。つまり、あなたの電子メールアドレスをデータベースから設定することはできません。settings.pyファイル自体に電子メールを設定する必要があります(ハードコードされている)。

+0

私は思っていますが、今日はメールサーバーを変更しなければならないと思います。もしクライアントが欲しいのであれば、私はいくつかの会社の設定を追加し、値...おそらく、データベースから設定できるメール用のアプリがあります...わかりません! – marcosgue

+1

@marcosgue、私はこれと同じ質問を見つけました。https://stackoverflow.com/questions/22281865/dynamic-django-mail-configurationそれがあなたを助けることを願ってください。 –

+0

これはsend_mailを使うことができることを意味します。カスタム設定を使用する独自の電子メールバックエンドを作成し、それを接続属性のsend_mailに渡す必要があります。 –

0

電子メールホストはハードコードされている必要があります。自分のロジックに関連するものを設定した場合は、django-constanceを試すことができます。txtから設定を読み取ろうとすると便利です価値ある方法です

関連する問題