Djangoアプリを作る手順を完全解説!startappで始める超初心者向け入門
生徒
「Djangoでプロジェクトは作れたんですが、次に出てくる『アプリを作る』って何をすればいいんですか?」
先生
「Djangoでは、Webサイトの機能ごとに“アプリ”を作ります。その作業をするのが startapp というコマンドです。」
生徒
「アプリってスマホのアプリみたいなものですか?」
先生
「考え方は少し似ています。Djangoアプリは、Webサイトの中の“役割ごとの部品”のようなものです。」
1. Djangoアプリとは何かをやさしく理解する
Djangoアプリとは、Webサイトの中の特定の機能を担当するまとまりです。例えば、ブログ機能、ログイン機能、問い合わせ機能など、それぞれを別のアプリとして作ります。
家づくりで例えると、Djangoプロジェクトは「家全体」、Djangoアプリは「部屋」や「設備」です。キッチンやお風呂がそれぞれ役割を持つように、アプリも担当する仕事が決まっています。
2. startappとはどんなコマンドか
startapp は、Djangoアプリを作成するための命令です。コマンドを一つ実行するだけで、アプリに必要なファイル一式を自動で用意してくれます。
この作業は、白紙のノートを自分で用意するのではなく、「最初から見出し付きのノートを配ってもらう」ようなイメージです。初心者でも迷わず始められるようになっています。
3. Djangoアプリを作る基本手順
Djangoアプリは、プロジェクトのフォルダに移動した状態で作成します。操作はすべてキーボードで文字を入力して行います。
例えば「blog」という名前のアプリを作る場合、次のように入力します。
python manage.py startapp blog
この一行は「manage.pyという操作用ファイルを使って、blogという名前のアプリを作ってください」という意味になります。
4. startapp実行後に作られるフォルダ構成
コマンドを実行すると、新しいフォルダが作られます。この中には、アプリに必要な基本ファイルがそろっています。
blog/
├─ admin.py
├─ apps.py
├─ models.py
├─ tests.py
└─ views.py
初心者のうちは、すべてを理解する必要はありません。「役割ごとにファイルが分かれている」という点だけ覚えておけば十分です。
5. 各ファイルの役割をざっくり知る
views.py は画面表示に関する処理を書く場所、models.py はデータを扱う設計図を書く場所です。admin.py は管理画面に関係する設定を行います。
すべてのファイルが最初から用意されていることで、「どこに何を書けばいいのか分からない」という初心者の悩みを減らしてくれます。
# apps.py
from django.apps import AppConfig
class BlogConfig(AppConfig):
name = 'blog'
6. 作成したアプリをプロジェクトに認識させる
Djangoでは、アプリを作っただけではまだ使えません。プロジェクト側に「このアプリを使います」と伝える必要があります。
その設定は、プロジェクトの settings.py に書きます。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'blog',
]
この一覧にアプリ名を書くことで、プロジェクトとアプリがつながります。
7. アプリ名を決めるときの注意点
アプリ名は英語の小文字で、短く分かりやすい名前がおすすめです。日本語や全角文字は使えません。
また、後から見たときに役割が想像できる名前にすると、自分自身が助かります。「blog」「accounts」「contact」などがよく使われます。
8. 初心者がつまずきやすいポイント
よくある失敗として、プロジェクトの外で startapp を実行してしまうケースがあります。必ず manage.py がある場所で実行してください。
エラーが出ても、ほとんどの場合は入力ミスです。焦らず、文字を一つずつ確認することが大切です。Djangoは初心者に優しい仕組みが多く用意されています。
CommandError: You must be in the project directory