Django settings.py の役割とよく使う設定を完全解説!初心者でもわかる基本と考え方
生徒
「Djangoのプロジェクトを見ていたら、settings.py というファイルがあって、英語と記号だらけでよく分かりません……」
先生
「settings.py は、Djangoプロジェクト全体のルールをまとめた、とても大切なファイルなんですよ。」
生徒
「全部理解しないと使えませんか?」
先生
「最初は役割と、よく使う設定だけ分かれば十分です。順番に見ていきましょう。」
1. Djangoのsettings.pyとは何か
Djangoの settings.py とは、Webアプリ全体の動きをコントロールするための設定ファイルです。画面に表示する言語や時間の基準、使うアプリの一覧、セキュリティに関する考え方など、「このWebアプリはどんなルールで動くのか」が一つにまとめられています。
プログラミング未経験の方は難しく感じるかもしれませんが、settings.py は「細かい処理を書く場所」ではありません。アプリの性格や前提条件を決める、いわば土台のような役割です。
例えるなら、settings.py は「学校の校則」や「家のルールブック」と同じです。授業の進め方や生活の流れを細かく指示するのではなく、「何時まで学校にいられるか」「どんな服装がOKか」といった大枠を決めています。
実際の settings.py には、次のようなシンプルな設定が書かれています。
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
この例では、「表示する言語は日本語」「時間は日本時間を使う」というルールを決めています。難しい処理はなく、英語が読めなくても「何を設定しているか」を雰囲気で理解できれば、最初は十分です。
2. settings.py がプロジェクト全体を管理する理由
Djangoでは、設定を一か所にまとめることで、管理を簡単にしています。もし設定があちこちに散らばっていると、初心者は混乱してしまいます。
settings.py にまとめて書いておくことで、「何か動作を変えたいときは、まずここを見る」という目印になります。
3. INSTALLED_APPSの役割
INSTALLED_APPS は、このプロジェクトで使うアプリの一覧です。Django本体の機能や、自分で作ったアプリをここに登録します。
これは「この家にある部屋の一覧」を書いているようなものです。書いていない部屋は、存在しない扱いになります。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'blog',
]
4. LANGUAGE_CODE と TIME_ZONE の意味
LANGUAGE_CODE は、Webサイトで使う言語を指定する設定です。日本語サイトの場合は、日本語を意味するコードを指定します。
TIME_ZONE は、時間の基準となる地域を指定します。日本で使う場合は、日本の時間帯を指定します。
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
これらを設定しておくことで、管理画面や日時表示が日本向けになります。
5. DEBUG設定の考え方
DEBUG は、エラーを画面に表示するかどうかを決める設定です。開発中は True にして、エラー内容を確認しやすくします。
例えるなら、DEBUG は「失敗した理由を教えてくれる先生」のような存在です。True のときは、詳しく説明してくれます。
DEBUG = True
6. ALLOWED_HOSTS の役割
ALLOWED_HOSTS は、どこからのアクセスを許可するかを決める設定です。最初は空のままや、ローカル用の設定になっています。
これは「この家に入っていい人のリスト」を決めているようなものです。セキュリティに関わる大切な項目です。
ALLOWED_HOSTS = []
7. MIDDLEWAREとは何をしているか
MIDDLEWARE は、リクエストとレスポンスの間で動く仕組みです。少し難しく聞こえますが、「裏側で自動的に働く係」と考えると分かりやすいです。
例えば、セキュリティチェックやログイン確認などを、毎回自動で行ってくれます。
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
]
8. 初心者がsettings.pyで気をつけるポイント
settings.py はとても重要なファイルなので、意味が分からないまま削除や大きな変更をしないことが大切です。
最初は「どんな設定があるかを見る」「よく使う項目を知る」だけで十分です。少しずつ慣れていけば、自然と理解が深まります。