【ITニュース解説】How to Create a Django App for Beginners

2025年09月10日に「Dev.to」が公開したITニュース「How to Create a Django App for Beginners」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Djangoアプリの作り方を初心者向けに解説。環境設定、プロジェクト・アプリの作成、DB設定、モデル定義、開発サーバー起動までをステップバイステップで網羅する。具体的なコマンドを示しながら、Django開発の基礎を効率的に学べるガイドだ。

出典: How to Create a Django App for Beginners | Dev.to公開日:

ITニュース解説

Djangoを初めて学ぶ方へ、人気ウェブフレームワークDjangoを使って、最初のウェブアプリケーションを構築する基本的なプロセスを段階的に解説する。このガイドでは、Djangoプロジェクトの環境設定から、データベースの準備、ウェブサーバーの起動、そしてデータベースの構造を定義する「モデル」の作成までを具体的に説明する。

まず、開発を始める前に「プロジェクトの環境設定」が非常に重要だ。Pythonのライブラリは多岐にわたり、プロジェクトごとに異なるバージョンが必要になることがあるため、それらが衝突しないよう、プロジェクト専用の独立した環境を設けるのが一般的だ。この解説では「Pipenv」というツールを推奨する。ターミナルでpip install pipenvを一度実行し、次にpipenv shellで仮想環境を有効化、pipenv install djangoを実行することで、その環境内にDjangoをインストールする。これにより、他のプロジェクトに影響を与えることなく、クリーンな状態で開発を進められる。

Djangoがインストールされたら、「Djangoプロジェクトの作成」を行う。これはウェブアプリケーション全体の土台となるもので、ウェブサイトの設定や機能を集約する役割を担う。ターミナルでdjango-admin startproject project_name .と入力する。project_nameは任意のプロジェクト名に置き換え、最後の.は、現在のディレクトリにプロジェクトを作成することを示す。このコマンドにより、指定した名前のプロジェクトフォルダと、Djangoアプリケーションに必要な基本的なファイル群が自動で生成される。

プロジェクトができただけでは、具体的な機能はまだない。Djangoでは、ウェブサイトの特定の機能(例えばブログ、お問い合わせ、ユーザーアカウントなど)を「アプリ」という単位で作成する。これは、機能をモジュール化し、再利用しやすくするための仕組みだ。プロジェクトフォルダの直下で、python manage.py startapp app_nameというコマンドを実行する。app_nameを「お問い合わせ」を意味するcontactsのような好きなアプリ名に置き換える。これで、指定した名前のアプリフォルダと、アプリに必要なファイル群が自動的に生成される。

アプリを作成したら、次にそのアプリを「プロジェクトに認識させる設定」が必要だ。プロジェクトフォルダの中にあるsettings.pyファイルを開く。このファイルには、Djangoプロジェクト全体の様々な設定が記述されており、その中のINSTALLED_APPSという項目に、作成したアプリの名前をリストに追加する。例えば、'app_name',のように書き加えることで、Djangoは新しいアプリの存在を認識し、プロジェクトの一部として扱えるようになる。

Djangoには、ユーザー管理機能や管理者用の画面など、便利な機能があらかじめ組み込まれている。これらの機能を利用するためには、「データベースの初期設定と管理者ユーザーの作成」が必要だ。ターミナルでpython manage.py migrateというコマンドを実行する。このコマンドは、Djangoの初期設定や、後で作成するデータベースの設計図(モデル)に基づいて、データベースのテーブルを実際に作成・更新する。次に、管理者用のユーザーを作成するために、python manage.py createsuperuserと入力する。すると、ユーザー名、メールアドレス、パスワードの入力を求められるので、それぞれ設定する。この管理者ユーザーは、後で説明する管理画面にログインする際に必要だ。

ここまでで、プロジェクトとアプリの基本的な設定、データベースの準備、管理者ユーザーの作成が完了した。いよいよ、作ったウェブアプリケーションを動かしてみよう。ターミナルでpython manage.py runserverと入力すると、「開発サーバー」が起動する。このサーバーは、開発中に自分のPC上でウェブサイトを一時的に公開するためのものだ。サーバーが起動すると、http://127.0.0.1:8000/というアドレスが表示されるので、これをウェブブラウザのアドレスバーに入力してアクセスしてみる。初期状態では、Djangoのデフォルトページが表示される。また、http://127.0.0.1:8000/adminにアクセスすると、先ほど作成した管理者ユーザーの情報でログインできる管理画面が表示される。

Djangoのウェブアプリケーション開発で非常に重要なのが「モデルの作成」だ。モデルは、データベースに保存したいデータの構造をPythonのコードで定義するものだ。例えば、「お問い合わせ」アプリであれば、名前、メールアドレス、電話番号、住所といった情報を保存したい。これらをapp_nameフォルダ内のmodels.pyファイルに記述する。from django.db import modelsをインポートした後、class Contact(models.Model):のようにクラスを定義し、その中にname = models.CharField(max_length=100)email = models.EmailField()のように、データの種類と制約を記述していく。CharFieldは文字列、EmailFieldはメールアドレス形式の文字列を表す。__str__メソッドを定義すると、管理画面などでオブジェクトが表示される際に、より分かりやすい名前で表示される。

モデルを定義したら、その変更をデータベースに反映させる必要がある。この作業を「モデル変更の適用」と呼ぶ。ターミナルでpython manage.py makemigrationsを実行する。このコマンドは、models.pyに記述した変更内容を元に、データベースをどのように変更すべきかの「設計図(マイグレーションファイル)」を作成する。設計図が作成されたら、次にpython manage.py migrateを実行する。このコマンドは、作成された設計図に基づいて、実際にデータベースのテーブルを生成したり、変更を加えたりする。これにより、Pythonのコードで定義したモデルが、実際のデータベースの構造として反映される。

これで、Djangoプロジェクトの基本的な骨格が完成したことになる。プロジェクトがセットアップされ、特定の機能を担当するアプリが追加され、データベースが設定され、データの構造を定義するモデルが作成された状態だ。ここからさらに発展させて、ユーザーがウェブブラウザからデータを入力したり、表示したりするための「ビュー(データの処理ロジック)」や「テンプレート(表示部分)」、そしてそれらにアクセスするための「URLのルーティング」を学ぶことで、完全なウェブアプリケーションを構築できるようになる。さらに、データベースのデータを操作するCRUD(作成・読み取り・更新・削除)機能の実装や、他のシステムと連携するためのAPIを構築するDjango REST Frameworkについても学習を深めることを推奨する。この解説が、Djangoでの開発を始める最初の一歩として大いに役立つことを期待する。

【ITニュース解説】How to Create a Django App for Beginners | いっしー@Webエンジニア