カテゴリ: Django 更新日: 2026/03/13

Djangoアプリのベストなディレクトリ構成を完全解説!初心者でも迷わないプロジェクト設計

Djangoアプリのベストなディレクトリ構成
Djangoアプリのベストなディレクトリ構成

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

生徒

「Djangoでアプリを作り始めたんですが、フォルダがたくさんあって、どこに何を置けばいいのか分からなくなりました…」

先生

「Djangoは最初に自動でフォルダを作ってくれますが、役割を知らないと混乱しやすいですね。」

生徒

「ベストなディレクトリ構成って決まりがあるんですか?」

先生

「厳密な正解はありませんが、初心者がつまずかない“基本の形”があります。今日はそれを丁寧に説明します。」

1. Djangoのプロジェクト構成とは何か

1. Djangoのプロジェクト構成とは何か
1. Djangoのプロジェクト構成とは何か

Djangoのプロジェクト構成とは、ファイルやフォルダをどのように整理して配置するかという設計図のようなものです。家を建てるときに、キッチンや寝室の場所を決めるのと同じで、最初に整理しておくことで後から困らなくなります。

Djangoでは「プロジェクト」と「アプリ」という二つの単位があり、これを正しく理解することがディレクトリ構成を理解する第一歩になります。

2. プロジェクトとアプリの違いを理解しよう

2. プロジェクトとアプリの違いを理解しよう
2. プロジェクトとアプリの違いを理解しよう

プロジェクトはWebサイト全体をまとめる箱のような存在です。一方、アプリは機能ごとの部品です。例えば、ブログ機能、ログイン機能、お問い合わせ機能などをそれぞれアプリとして分けます。

この考え方を知ることで、「どのファイルをどこに置くべきか」が自然と分かるようになります。初心者が混乱しやすいポイントなので、しっかり押さえておきましょう。

3. Djangoで作成される基本ディレクトリ構成

3. Djangoで作成される基本ディレクトリ構成
3. Djangoで作成される基本ディレクトリ構成

Djangoでプロジェクトを作成すると、自動的に基本となるディレクトリ構成が作られます。これはDjangoが推奨する最小構成で、多くの現場でも使われています。


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

この段階では、まだアプリは存在していません。まずは全体を管理するための骨組みが用意されている状態です。

4. Djangoアプリを追加したときの構成

4. Djangoアプリを追加したときの構成
4. Djangoアプリを追加したときの構成

次に、アプリを作成すると、新しいフォルダが追加されます。アプリは機能単位なので、プロジェクト直下に配置するのが一般的です。


myproject/
├─ manage.py
├─ myproject/
│  ├─ settings.py
│  └─ urls.py
├─ blog/
│  ├─ models.py
│  ├─ views.py
│  ├─ admin.py
│  └─ apps.py

このように、プロジェクトとアプリを分けて管理することで、機能追加や修正がとても楽になります。

5. ベストとされるディレクトリ構成の考え方

5. ベストとされるディレクトリ構成の考え方
5. ベストとされるディレクトリ構成の考え方

ベストなディレクトリ構成とは、「見ただけで役割が分かる」「後から見返しても迷わない」構成です。初心者のうちは、Djangoの標準構成を大きく変えないことが重要です。

無理に独自構成にせず、公式ドキュメントや多くの記事で紹介されている形を使うことで、検索した情報と同じ構成になり、学習効率が上がります。

6. templatesとstaticフォルダの配置方法

6. templatesとstaticフォルダの配置方法
6. templatesとstaticフォルダの配置方法

Djangoでは、HTMLファイルをtemplatesフォルダに、画像やCSSをstaticフォルダに置きます。アプリごとに分けることで、管理がしやすくなります。


blog/
├─ templates/
│  └─ blog/
│     └─ index.html
├─ static/
│  └─ blog/
│     └─ style.css

このようにアプリ名でフォルダを分けることで、ファイル名の重複も防げます。

7. settings.pyとディレクトリ構成の関係

7. settings.pyとディレクトリ構成の関係
7. settings.pyとディレクトリ構成の関係

settings.pyはDjango全体の設定をまとめたファイルです。ここでアプリの登録や、templates、staticの場所を指定します。ディレクトリ構成と密接に関係しているため、配置を理解していないと設定ミスが起こりやすくなります。


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

このようにアプリ名を登録することで、Djangoがそのディレクトリを認識します。

8. 初心者がよく失敗する構成ミス

8. 初心者がよく失敗する構成ミス
8. 初心者がよく失敗する構成ミス

初心者がよくやってしまうのが、templatesやstaticをプロジェクト直下に雑に置いてしまうことです。動くことはありますが、後から管理が難しくなります。

最初から「アプリごとに整理する」という意識を持つことで、Djangoの考え方に自然と慣れていきます。

9. シンプルで長く使える構成を目指そう

9. シンプルで長く使える構成を目指そう
9. シンプルで長く使える構成を目指そう

Djangoアプリのベストなディレクトリ構成は、特別なテクニックよりも「基本を守る」ことが大切です。標準構成を理解し、役割ごとに整理するだけで、読みやすく保守しやすいプロジェクトになります。

プログラミング未経験の方でも、この構成を理解しておけば、今後Djangoの学習を進めるうえで大きな土台になります。

カテゴリの一覧へ
新着記事
New1
Python
Pythonでセットの要素数を調べる方法(len()の使い方)を初心者向けに解説!
New2
Python
Pythonのfrozensetとは?ミュータブルなsetとの違いをわかりやすく解説
New3
Flask
FlaskでPOSTリクエストを受け取る方法!初心者でもわかるJSONデータの受け取り方
New4
Python
Pythonでセットを活用してデータをフィルタリングする方法!初心者でもわかるセットの基本と使い方
人気記事
No.1
Java&Spring記事人気No1
Flask
Flaskとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Python
Pythonでトランザクション処理を実装する方法を完全解説!commit・rollbackで安全なSQL操作
No.3
Java&Spring記事人気No3
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.4
Java&Spring記事人気No4
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.5
Java&Spring記事人気No5
Flask
FlaskでAPIを作る基本!初心者向けに仕組みと特徴をやさしく解説
No.6
Java&Spring記事人気No6
Flask
Flask‑RESTfulでREST APIを構築する手順まとめ!初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
Flask
FlaskのSQLAlchemyでフィルタリング検索!filter, filter_byの使い方完全ガイド
No.8
Java&Spring記事人気No8
Python
Pythonの文字列操作完全ガイド!結合・分割・検索の基本をやさしく解説