Django でローカル設定と本番設定を管理するにはどうすればいいですか? 質問する

Django でローカル設定と本番設定を管理するにはどうすればいいですか? 質問する

ローカル開発と本番サーバーの設定を処理するための推奨される方法は何ですか? 一部の設定 (定数など) は両方で変更/アクセスできますが、一部の設定 (静的ファイルへのパスなど) は異なるままにしておく必要があるため、新しいコードがデプロイされるたびに上書きしないでください。

現在、すべての定数を に追加していますsettings.py。ただし、ローカルで定数を変更するたびに、それを本番サーバーにコピーし、本番固有の変更に合わせてファイルを編集する必要があります... :(

編集: この質問に対する標準的な答えはないようですが、最も一般的な方法を採用しました。

ベストアンサー1

Django の 2 つのスクープ: Django 1.5 のベスト プラクティス設定ファイルのバージョン管理を使用し、ファイルを別のディレクトリに保存することをお勧めします。

project/
    app1/
    app2/
    project/
        __init__.py
        settings/
            __init__.py
            base.py
            local.py
            production.py
    manage.py

ファイルbase.pyには共通の設定 (MEDIA_ROOT や ADMIN など) が含まれますが、local.pyおよび にはproduction.pyサイト固有の設定が含まれます。

ベースファイル内settings/base.py:

INSTALLED_APPS = (
    # common apps...
)

ローカル開発設定ファイル内settings/local.py:

from project.settings.base import *

DEBUG = True
INSTALLED_APPS += (
    'debug_toolbar', # and other apps for local development
)

ファイル制作設定ファイル内settings/production.py:

from project.settings.base import *

DEBUG = False
INSTALLED_APPS += (
    # other apps for production site
)

次に、django を実行するときに、次の--settingsオプションを追加します。

# Running django for local development
$ ./manage.py runserver 0:8000 --settings=project.settings.local

# Running django shell on the production site
$ ./manage.py shell --settings=project.settings.production

この本の著者らはまた、サンプルプロジェクトレイアウトテンプレートGithub で。

おすすめ記事