カテゴリ: Django 更新日: 2026/02/11

Djangoプロジェクトのディレクトリ構造を完全解説!初心者でも迷わないフォルダの見方

Djangoプロジェクトのディレクトリ構造を理解する
Djangoプロジェクトのディレクトリ構造を理解する

先生と生徒の会話形式で理解しよう

生徒

「Djangoでプロジェクトを作ったら、フォルダやファイルがたくさん出てきて、どれが何なのか分からなくなりました……」

先生

「最初は誰でもそう感じます。Djangoのディレクトリ構造は、意味を知るととても分かりやすいですよ。」

生徒

「全部覚えないとダメですか?」

先生

「いいえ。まずは全体像と、それぞれの役割をイメージできれば十分です。」

1. Djangoプロジェクトのディレクトリ構造とは

1. Djangoプロジェクトのディレクトリ構造とは
1. Djangoプロジェクトのディレクトリ構造とは

Djangoプロジェクトのディレクトリ構造とは、Webアプリを作るために最初から用意されているフォルダとファイルの並び方のことです。Djangoでは、この構造があらかじめ決まっているため、誰が作っても同じ形からスタートできます。

プログラミング未経験の方は難しく感じるかもしれませんが、考え方はとてもシンプルです。「役割ごとに置き場所が分かれている収納棚」をイメージしてください。設定を書く場所、操作をする場所などが最初から分けられているので、後から探しやすくなっています。

例えば、プロジェクトを作成すると次のような最低限の構成が自動で作られます。


myproject/
├─ manage.py
└─ myproject/

この時点では、中身をすべて理解する必要はありません。「Djangoは、最初から整理された状態で始められる仕組みなんだ」と知っておくだけで十分です。この安心感が、初心者でも学習を続けやすい理由のひとつです。

2. プロジェクト作成直後の全体構成

2. プロジェクト作成直後の全体構成
2. プロジェクト作成直後の全体構成

Djangoでプロジェクトを作成すると、まず一番外側にプロジェクト用のフォルダができます。この中に、操作用ファイルや設定用フォルダが入っています。


myproject/
├─ manage.py
└─ myproject/
   ├─ __init__.py
   ├─ settings.py
   ├─ urls.py
   ├─ asgi.py
   └─ wsgi.py

この形が、Djangoプロジェクトの基本的なディレクトリ構造です。まずは「外側」と「内側」で役割が違う、という点を押さえましょう。

3. manage.pyの役割を理解する

3. manage.pyの役割を理解する
3. manage.pyの役割を理解する

manage.py は、Djangoを操作するための司令塔のようなファイルです。アプリの作成、サーバーの起動、設定の反映など、多くの操作をこのファイル経由で行います。

例えるなら、家電を操作するリモコンのような存在です。直接中身を触ることは少なく、命令を出すために使います。


python manage.py runserver

4. プロジェクト内フォルダの正体

4. プロジェクト内フォルダの正体
4. プロジェクト内フォルダの正体

外側のフォルダと同じ名前の内側フォルダが、本当の意味での「プロジェクト本体」です。この中には、Django全体の動きを決める大切な設定ファイルが集まっています。

設定やルールをまとめた場所なので、Webサイト全体の方向性を決める役割を持っています。

5. settings.pyは何をしているファイルか

5. settings.pyは何をしているファイルか
5. settings.pyは何をしているファイルか

settings.py は、Djangoプロジェクトのルールブックです。使用するアプリ、言語、時間、セキュリティ設定など、基本的な情報がすべて書かれています。

初心者のうちは、内容をすべて理解する必要はありません。「ここで全体設定をしている」という認識があれば十分です。


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
]

6. urls.pyの役割をやさしく説明

6. urls.pyの役割をやさしく説明
6. urls.pyの役割をやさしく説明

urls.py は、Webサイトの住所と処理内容を結びつける案内板のような存在です。どのURLにアクセスされたら、どの処理を行うかを管理します。

住所録や地図のようなイメージで考えると分かりやすく、Djangoでは必ず登場する重要なファイルです。


urlpatterns = [
    path('admin/', admin.site.urls),
]

7. asgi.pyとwsgi.pyは何のためにあるか

7. asgi.pyとwsgi.pyは何のためにあるか
7. asgi.pyとwsgi.pyは何のためにあるか

asgi.pywsgi.py は、DjangoとWebサーバーをつなぐための橋渡し役です。少し難しい仕組みですが、初心者の段階では「サーバーと会話するための設定ファイル」と理解すれば問題ありません。

普段の学習では、これらのファイルを直接編集することはほとんどありません。

8. なぜこの構造を理解することが大切なのか

8. なぜこの構造を理解することが大切なのか
8. なぜこの構造を理解することが大切なのか

Djangoのディレクトリ構造を理解しておくと、「どこに何を書けばいいのか」が分かるようになります。これは、迷子にならずに開発を進めるための地図を持つようなものです。

最初は全部覚えなくても大丈夫です。フォルダやファイルの役割を少しずつ知ることで、Djangoへの苦手意識は自然と減っていきます。

カテゴリの一覧へ
新着記事
New1
Flask
認証と認可の違いを整理しよう!Flaskで押さえるべき基礎概念
New2
Flask
Flaskで非同期フォーム送信(Ajax POST)を実装する方法を解説!初心者でもわかるステップ解説
New3
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
New4
Python
PythonでMySQLに接続する方法!pymysqlの基本的な使い方
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
No.4
Java&Spring記事人気No4
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.5
Java&Spring記事人気No5
Python
Pythonプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.6
Java&Spring記事人気No6
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.7
Java&Spring記事人気No7
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.8
Java&Spring記事人気No8
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう