1. ホーム
  2. スクリプト・コラム
  3. パイソン

Djangoプロジェクトの構成は、独立した実装を分割する

2022-01-26 01:32:56

Django プロジェクトでは、デフォルトの設定はすべて settings.py ファイル内にありますが、実際のローカルデバッグやオンラインでは 2 つの環境が必要なはずなので、設定を分割してみましょう。設定を分割する

I. 設定用ディレクトリの作成

プロジェクトのヒールパスの下に、configディレクトリを作成します。

次に、基本設定ファイルを作成します。

config で base.py ファイルを作成し、元の settings.py ファイルの内容をコピーします。

III. 各環境の設定を作成する

環境設定に追加すれば、ベースの

dev.pyの作成

from .base import * # Note this must be added, this is to import the base configuration

DEBUG = True
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': "ops",
        "HOST": "127.0.0.1",
        "PORT": 3306,
        "USER": "root",
        "PASSWORD": "",
    },
}
ALIYUN_SECRETID = '123'

prod.pyの作成 を作成します。

from .base import * # Note this must be added, this is to import the base configuration
DEBUG = False
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': "ops",
        "HOST": "127.0.0.1",
        "PORT": 3306,
        "USER": "ops",
        "PASSWORD": "",
    },
}
ALIYUN_SECRETID = '123'

<スパン IV. settings.pyを調整する

settings.pyの元の設定を以下に置き換えます。

DJANGO_CONF_MODULE = 'config.{env}'.format(env='dev')

try:
    _module = __import__(DJANGO_CONF_MODULE, globals(), locals(), ['*'])
except ImportError as e:
    raise ImportError("Could not import config '%s' (Is it on sys.path?): %s"
                      % (DJANGO_CONF_MODULE, e))

for _setting in dir(_module):
    if _setting == _setting.upper():
        locals()[_setting] = getattr(_module, _setting)

上記の設定は、デフォルトでdevの設定を使用しています。prodの設定を使いたい場合は、devをprodに置き換えます。

V. プログラムの使用方法

from django.conf import settings
settings.ALIYUN_SECRETID # Reference

<スパン VI. ディレクトリ構造

これは、Djangoプロジェクトの構成分割独立実装に関する記事の終わりです、より関連するDjangoプロジェクトの構成分割独立コンテンツは、スクリプトハウスの以前の記事を検索するか、次の関連記事を閲覧し続けるあなたは、将来的に多くのスクリプトハウスをサポートすることを願ってください!.