Djangoアプリケーション設定オブジェクト django.conf.settingsの説明
Django アプリケーションの様々な設定パラメータは、多くの場合、設定ファイル内にあります。
設定ファイルはJavaアプリケーションと異なり、xmlファイルやプロパティファイルとなることが多く、Javaのクラスファイルとは全く異なるものです。しかし、 Django アプリの設定ファイルは Python モジュールと同等であり、 Python の構文仕様に準拠しています。
Django の設定ファイルは、実質的に Django の django.conf.settings オブジェクトを設定することになります。
Django アプリケーションの場合、何も設定されていないと、コマンド実行時に以下のようなプロンプトが表示されます。
なお、設定が正しく行われていないため、Djangoコアのコマンドのみがリストアップされます(error: Requested setting INSTALLED_APPS, but settings are not 環境変数 DJANGO_SETTINGS_MODULE を定義するか、設定にアクセスする前に settings.configure() を呼び出す必要があります)。
以下は、Django アプリケーションでの設定方法を、優先順位の低いものから順番に説明します。
1. Djangoのデフォルト設定ファイル
$PYTHON_HOME/site-packages/django/conf/global_settings.py
2. OS 環境変数 DJANGO_SETTINGS_MODULE は、設定ファイルへのパスを指定します。
myFirstDjangoSite プロジェクトのメインモジュールのための設定ファイル myFirstDjangoSite.settings.py は、以下のように最初に与えられます。
ALLOWED_HOSTS = ['www.mydomain.com']
DEBUG = False
DEFAULT_FROM_EMAIL = '[email protected]'
設定ファイルの内容は、一般的に6つのセクションに分けることができます。Core、Auth、Message、Session、Site、Static Files、などです。詳しくは記事末尾のリンク2をご参照ください。
- Linuxシステム
export DJANGO_SETTINGS_MODULE=myFirstDjangoSite.settings です。
- Windowsシステム
DJANGO_SETTINGS_MODULE=myFirstDjangoSite.settings を設定します。
3. Djangoプロジェクト内のデフォルトの設定ファイル
my_project/$my_project/ settings.py
4. Djangoアプリの起動時にパラメータを設定する
- Linuxシステム
$PYTHON_HOME/site-packages/django/bin/django-admin runserver --settings=myFirstDjangoSite.settings
- Windowsシステム
%PYTHON_HOME%/Scripts/django-admin runserver --settings=myFirstDjangoSite.settings
5. Pythonアプリのコードで、実行時にパラメータを設定する
from django.conf import settings
settings.configure(default_settings=myapp_defaults, DEBUG=True) #recommended
settings.DEBUG = True #not recommended
最後に、現在の設定を確認するために
python manage.py diffsettings
参考リンク
https://docs.djangoproject.com/en/1.11/topics/settings/
https://docs.djangoproject.com/en/1.11/ref/settings/
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例