カテゴリ: Django 更新日: 2026/04/09

Djangoアプリを作る手順を完全解説!startappで始める超初心者向け入門

Djangoアプリを作る手順(startapp)
Djangoアプリを作る手順(startapp)

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

生徒

「Djangoでプロジェクトは作れたんですが、次に出てくる『アプリを作る』って何をすればいいんですか?」

先生

「Djangoでは、Webサイトの機能ごとに“アプリ”を作ります。その作業をするのが startapp というコマンドです。」

生徒

「アプリってスマホのアプリみたいなものですか?」

先生

「考え方は少し似ています。Djangoアプリは、Webサイトの中の“役割ごとの部品”のようなものです。」

1. Djangoアプリとは何かをやさしく理解する

1. Djangoアプリとは何かをやさしく理解する
1. Djangoアプリとは何かをやさしく理解する

Djangoアプリとは、Webサイトの中で「特定の役割だけ」を担当する小さな仕組みの集まりです。1つのWebサイトには、表示する画面、データを保存する処理、ユーザーの操作を受け取る処理など、たくさんの役割があります。Djangoでは、それらを一か所にまとめず、役割ごとにアプリとして分けて管理します。

例えば、記事を投稿・表示する「ブログ機能」、ユーザーがログインする「ログイン機能」、質問を送る「問い合わせ機能」は、それぞれ別のDjangoアプリとして作るのが一般的です。こうすることで、どこに何が書いてあるのか分かりやすくなり、後から修正や追加をするときも楽になります。

家づくりで例えると、Djangoプロジェクトは「家全体の設計図」、Djangoアプリは「キッチン」「お風呂」「トイレ」のような役割ごとの部屋です。水回りだけ直したいときに、家全体を壊さなくていいのと同じで、アプリ単位に分けることで安全に開発できます。

まだプログラミング未経験でも、「Djangoアプリ=Webサイトの中の担当係」くらいに考えておけば十分です。

2. startappとはどんなコマンドか

2. startappとはどんなコマンドか
2. startappとはどんなコマンドか

startapp は、Djangoアプリを作成するための命令です。コマンドを一つ実行するだけで、アプリに必要なファイル一式を自動で用意してくれます。

この作業は、白紙のノートを自分で用意するのではなく、「最初から見出し付きのノートを配ってもらう」ようなイメージです。初心者でも迷わず始められるようになっています。

3. Djangoアプリを作る基本手順

3. Djangoアプリを作る基本手順
3. Djangoアプリを作る基本手順

Djangoアプリは、プロジェクトのフォルダに移動した状態で作成します。操作はすべてキーボードで文字を入力して行います。

例えば「blog」という名前のアプリを作る場合、次のように入力します。


python manage.py startapp blog

この一行は「manage.pyという操作用ファイルを使って、blogという名前のアプリを作ってください」という意味になります。

4. startapp実行後に作られるフォルダ構成

4. startapp実行後に作られるフォルダ構成
4. startapp実行後に作られるフォルダ構成

コマンドを実行すると、新しいフォルダが作られます。この中には、アプリに必要な基本ファイルがそろっています。


blog/
├─ admin.py
├─ apps.py
├─ models.py
├─ tests.py
└─ views.py

初心者のうちは、すべてを理解する必要はありません。「役割ごとにファイルが分かれている」という点だけ覚えておけば十分です。

5. 各ファイルの役割をざっくり知る

5. 各ファイルの役割をざっくり知る
5. 各ファイルの役割をざっくり知る

views.py は画面表示に関する処理を書く場所、models.py はデータを扱う設計図を書く場所です。admin.py は管理画面に関係する設定を行います。

すべてのファイルが最初から用意されていることで、「どこに何を書けばいいのか分からない」という初心者の悩みを減らしてくれます。


# apps.py
from django.apps import AppConfig

class BlogConfig(AppConfig):
    name = 'blog'

6. 作成したアプリをプロジェクトに認識させる

6. 作成したアプリをプロジェクトに認識させる
6. 作成したアプリをプロジェクトに認識させる

Djangoでは、アプリを作っただけではまだ使えません。プロジェクト側に「このアプリを使います」と伝える必要があります。

その設定は、プロジェクトの settings.py に書きます。


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

この一覧にアプリ名を書くことで、プロジェクトとアプリがつながります。

7. アプリ名を決めるときの注意点

7. アプリ名を決めるときの注意点
7. アプリ名を決めるときの注意点

アプリ名は英語の小文字で、短く分かりやすい名前がおすすめです。日本語や全角文字は使えません。

また、後から見たときに役割が想像できる名前にすると、自分自身が助かります。「blog」「accounts」「contact」などがよく使われます。

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

よくある失敗として、プロジェクトの外で startapp を実行してしまうケースがあります。必ず manage.py がある場所で実行してください。

エラーが出ても、ほとんどの場合は入力ミスです。焦らず、文字を一つずつ確認することが大切です。Djangoは初心者に優しい仕組みが多く用意されています。


CommandError: You must be in the project directory

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Djangoの「プロジェクト」と「アプリ」の違いは何ですか?初心者にも分かりやすく教えてください。

Djangoにおいて「プロジェクト」はWebサイト全体を管理する大きな器や設計図のようなものです。一方で「アプリ」は、そのWebサイトの中で特定の機能(ブログ、ログイン、問い合わせなど)を担当する独立した部品を指します。一つのプロジェクトの中に複数のアプリを入れることで、機能ごとに整理された綺麗なWebサイトを作ることができます。
カテゴリの一覧へ
新着記事
New1
Django
Djangoバリデーション入門|フォームとモデルの入力チェック基本をやさしく理解しよう
New2
Django
Djangoテンプレートの変数展開まとめ|初心者向けにわかりやすく解説
New3
Django
Django ModelFormの使い方完全ガイド!初心者でもわかる新規登録フォーム作成
New4
Django
Djangoテンプレートの使い方を完全解説!初心者でもわかるタグ・フィルタ入門
人気記事
No.1
Java&Spring記事人気No1
Python
PythonでNoSQL操作!エラーハンドリングを初心者向けに徹底解説
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Python
PythonのSQLAlchemy使い方入門!初心者でもわかるインストールと初期設定
No.4
Java&Spring記事人気No4
Flask
Flaskで多言語対応のログメッセージを出力する方法!Python初心者向けガイド
No.5
Java&Spring記事人気No5
Python
PythonのSQLAlchemyでデータベース操作!モデルクラスでテーブル定義する方法を徹底解説
No.6
Java&Spring記事人気No6
Flask
FlaskでJSONレスポンスを多言語化!API設計の基本を初心者向けに解説
No.7
Java&Spring記事人気No7
Python
PythonでCassandraに接続する方法を完全ガイド!cassandra-driverの使い方
No.8
Java&Spring記事人気No8
Python
PythonでREST APIを作る方法!初心者向けFastAPI入門