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プロジェクトの構成分割独立コンテンツは、スクリプトハウスの以前の記事を検索するか、次の関連記事を閲覧し続けるあなたは、将来的に多くのスクリプトハウスをサポートすることを願ってください!.
関連
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み】boto3クライアント NoRegionError。リージョンエラーの時だけ指定する必要があります
-
[解決済み】再帰:反復中にPythonのset changed setを回避する方法 RuntimeError
-
ImportError: 必要な依存関係 ['numpy'] がない 解決方法
-
[解決済み] Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生する。
-
[解決済み] Tensorflowの平均二乗誤差損失関数
-
[解決済み] Python ValueError: JSONオブジェクトをデコードできませんでした
-
[解決済み] ピクセル単位で正確なサイズの図形を指定し保存する
-
[解決済み] sklearn classifier get ValueError: Bad input shape.
-
Python 3.6: "Guess the Number Game" TypeError: '<' は 'str' と 'int' のインスタンスの間でサポートされていません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonでRuntimeWarning: invalid value encountered in double_scalars問題を解決する方法
-
初めてのPygameプログラムの作り方
-
[解決済み] リストを配列に変換できない。ValueError: Pythonのスカラーに変換できるのは1要素のテンソルだけです。
-
[解決済み] asyncioを学習中。「コルーチンが待機していない」警告エラー
-
[解決済み] マップされたテーブルの主キー列を組み立てられませんでした。
-
[解決済み] python で scipy.spatial.distance.cdist(X, Y) を使用して点群間の距離を求める。
-
[解決済み] Python 3.5でbs4をインポートする
-
[解決済み] Pythonが動作しなくなった
-
[解決済み] float が配列に格納されている任意の float に近いかどうかをチェックします。
-
PythonでBeautiful Soupのインストールに成功しても、'bs4'という名前のモジュールがない