2

ローカル開発、ステージング、本番環境など、使用したいさまざまな環境にDjango設定を設定するためのベストプラクティスを特定しようとしています。

読んでみると、2つの主要な技術が使用されていることがわかりました。

  1. メインのsettings.pyファイルの最後にインポートされた、バージョン管理されていないsettings_local.pyファイル

  2. 設定がPythonモジュールになり、特定のenv.pyファイルがそのソース内にある設定モジュールの方法

非常にモジュール化された「python」の方法のように見えるので、2番目の方法をお勧めしますが、ガイドはまだ不完全なので、異なる環境ごとにどのモジュールを使用するかをDjangoにどのように言いますか?

Djangoの設定を管理するのに良い方法だと思いますか?

みなさん、ありがとうございました。

4

1 に答える 1

0

また、両方のアプローチを使用するのも普通です。たとえば、「開発」、「ステージング」、「本番」、および各開発者マシンでのローカルのみの設定など、さまざまな環境を持つことができます。

通常、現在のディレクトリ (または構成ファイルに使用する特別なディレクトリ)settings_local.pyの最後にインポートされます。settings.py

さまざまな環境を管理するために、env変数を使用します。次のようになります。

$ export MY_PROJECT_ENV=production
$ python
>>> import os
>>> os.environ["MY_PROJECT_ENV"]
'production'

このsettings.pyように見えます

ENV = os.environ.get("MY_PROJECT_ENV", "production")
LOGGING_LEVEL = "debug" if ENV == "development" else "error"

でのより便利な操作のためにexport、そのようなすべてのエクスポートを自分の~/.profile(または同様の機能ファイル) に追加できます。

于 2012-09-09T08:16:12.393 に答える