DjangoのINSTALLED_APPSとは?アプリをプロジェクトに追加する仕組みを初心者向けに徹底解説
生徒
「Djangoでアプリを作ったあと、何か設定が必要なんですか?」
先生
「はい。作ったアプリをDjangoのプロジェクトに認識させるために、INSTALLED_APPSという設定に追加します。」
生徒
「追加しないと、どうなるんですか?」
先生
「モデルやテンプレートが正しく動かなくなります。まずは、INSTALLED_APPSの役割から見ていきましょう。」
1. Djangoにおけるプロジェクトとアプリの関係
Djangoでは、全体を管理する箱のような存在を「プロジェクト」と呼び、その中で機能ごとに分かれた部品を「アプリ」と呼びます。たとえば、学校の建物がプロジェクトで、教室や職員室がアプリというイメージです。
プロジェクトだけでは何もできず、アプリを組み合わせることで、Webサイトとして動くようになります。そのため、Djangoでは「どのアプリを使うのか」を明示的に設定する必要があります。
2. INSTALLED_APPSとは何かを超初心者向けに説明
INSTALLED_APPSは、Djangoの設定ファイルの中にあるリストで、「このプロジェクトで使いますよ」と宣言するアプリの一覧表です。
パソコンを触ったことがない人向けに例えると、スマートフォンにアプリをインストールしただけでは使えず、ホーム画面に表示されて初めて使える状態になります。Djangoでも同じで、アプリを作ったあと、INSTALLED_APPSに登録しないと使えません。
3. settings.pyファイルの場所と役割
INSTALLED_APPSは、settings.pyというファイルの中に書かれています。このファイルは、Djangoプロジェクト全体の設定をまとめた重要なファイルです。
フォントサイズや色をまとめて設定する設定表のようなもので、Djangoの動き方をここでコントロールします。その中の一つが、アプリ一覧であるINSTALLED_APPSです。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
]
4. 自分で作ったDjangoアプリを追加する方法
Djangoで新しいアプリを作成すると、フォルダが一つ増えます。このフォルダ名を、そのままINSTALLED_APPSに追加します。
文字を書くのが苦手な人でも、コピーして貼り付けるだけで大丈夫です。順番は基本的にどこでも問題ありません。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'blog',
]
5. アプリを追加しないと起こるトラブル
INSTALLED_APPSに追加しないまま作業を進めると、エラーが出たり、画面に何も表示されなかったりします。
特に、データベースを扱うモデル機能や、管理画面を使うときに問題が起こりやすくなります。初心者の方がつまずきやすいポイントなので、アプリを作ったら必ず追加する習慣をつけましょう。
ModuleNotFoundError: No module named 'blog'
6. Django標準アプリと自作アプリの違い
django.contribから始まるものは、最初から用意されている公式アプリです。ログイン機能や管理画面など、よく使う機能がまとめられています。
一方で、自分で作ったアプリは、ブログやお問い合わせなど、サイト独自の機能を担当します。どちらも同じようにINSTALLED_APPSで管理されている点が大きな特徴です。
7. アプリ名の書き方と注意点
アプリ名は、フォルダ名と完全に同じにする必要があります。アルファベットの大文字と小文字も区別されるため、間違えるとエラーになります。
初心者の方は、アプリ名はすべて小文字で、短く分かりやすい名前にするのがおすすめです。
# 間違いやすい例
INSTALLED_APPS = [
'Blog', # フォルダ名が blog の場合はエラー
]
8. INSTALLED_APPSを理解すると何ができるようになるか
INSTALLED_APPSを正しく理解できると、Djangoの構造が一気に見やすくなります。どの機能がどのアプリに属しているのかが分かり、エラーが出たときも原因を探しやすくなります。
これは、Djangoのプロジェクトとアプリ構造を理解する上で、避けて通れない重要なポイントです。焦らず、一つずつ設定を確認することが大切です。