前提条件
この記事は、Djangoを使ったWeb開発の第一歩を踏み出したい方向けのガイドです。記事を最大限に活用していただくために、以下の前提条件をご確認ください。
必要な知識
- Pythonの基本的な文法と概念を理解していること
- コマンドラインの基本操作(cd, mkdir など)ができること
必要な環境
- Pythonがインストールされていること(バージョン3.8以上推奨)
- コマンドライン(WindowsならコマンドプロンプトやPowerShell、Macならターミナル)を使用できること
- テキストエディタまたはコードエディタ(VSCode, PyCharm, Atom など)がインストールされていること
インストール確認方法
Pythonがインストールされているか確認するには、コマンドラインで以下のコマンドを実行してみましょう:
python --version
macOSの場合は以下も試してみてください:
python3 --version
バージョン番号が表示されれば、Pythonはすでにインストールされています。表示されない場合は、Python公式サイトからダウンロードしてインストールしてください。
ダウンロード方法は下記記事で詳細に記載してます。

記事内では主にコマンドラインを使用しますが、VSCodeなどのコードエディタのターミナル機能を使っても構いません。環境構築からDjangoプロジェクト作成までのプロセスを丁寧に解説していきますので、初めての方も安心して進められるでしょう。
Step 1: Djangoプロジェクトのための環境構築とパッケージインストール
Webアプリ開発を始める前に、まずは適切な作業環境を整えましょう。プロジェクトごとに独立した環境を作ることで、異なるプロジェクト間でのパッケージのバージョン競合を防ぐことができます。
作業フォルダの作成とパス移動
まずは、新しいプロジェクト用のフォルダを作成しましょう。Windows PCのコマンドプロンプトまたはMacのターミナルを開いて以下のコマンドを実行します:
# Windowsの場合
mkdir mywebapp
cd mywebapp
# macOSの場合
mkdir mywebapp
cd mywebapp
コードエディター(VSCodeなど)を使用している場合は、新規フォルダの作成や移動はエディター内のファイルエクスプローラーからも行えます。
仮想環境の作成と有効化
次に、プロジェクト専用の仮想環境を作成します。仮想環境とは、他のプロジェクトと分離された独自のPython環境のことです。小さな部屋を作って、そこで作業するようなイメージです。
# Windows
python -m venv .venv
# macOS
python3 -m venv .venv
仮想環境を作成したら、次はそれを有効化(アクティベート)します:
# Windowsの場合
.venv\Scripts\activate
# macOSの場合
source .venv/bin/activate
正常に有効化されると、コマンドプロンプトやターミナルの行頭に (.venv)
と表示されます。これで仮想環境が正しく設定できました!
Djangoのインストール
仮想環境が準備できたら、いよいよDjangoフレームワークをインストールしましょう:
# 最新バージョンのDjangoをインストール
python -m pip install django
このコマンドは、Python Package Index(PyPI)という公開リポジトリからDjangoパッケージをダウンロードしてインストールします。
依存パッケージのバージョン管理
プロジェクトで使用しているパッケージとそのバージョンを記録しておくことは非常に重要です。これにより、他の開発者やデプロイ時に同じ環境を再現できます:
python -m pip freeze > requirements.txt
このコマンドは、現在の仮想環境にインストールされているすべてのパッケージ名とバージョンを requirements.txt
というファイルに書き出します。
特定バージョンのDjangoをインストールする方法
プロジェクトの要件に応じて、特定のバージョンのDjangoを使いたい場合もあるでしょう。その場合は、バージョン番号を指定してインストールできます:
# 例:Django 4.2.0をインストールする場合
python -m pip install django==4.2.0
二重等号(==
)の後に必要なバージョン番号を指定します。
既存プロジェクトの依存関係をインストールする
もし既存のプロジェクトに参加する場合は、そのプロジェクトの requirements.txt
を使って、必要なパッケージをまとめてインストールできます:
python -m pip install -r requirements.txt
このコマンドは requirements.txt
に記載されたすべてのパッケージを、指定されたバージョンでインストールします。
仮想環境の重要性
プロジェクトごとに別々の仮想環境を使うことで、異なるバージョンのDjangoやその他のパッケージを混在させることなく、複数のWebアプリ開発を進めることができます。また、依存関係をきちんと記録しておくことで、プロジェクトの再現性を高めることができます。
Step 2: Djangoプロジェクトとアプリの作成
Djangoのインストールが完了したら、いよいよWebアプリケーションの基本構造を作成していきましょう。Djangoではプロジェクトとアプリという2つの概念が重要です。
プロジェクトとアプリの違い
Djangoの開発では、以下の2つの階層が重要です:
- プロジェクト:Webアプリケーション全体を管理する上位階層。設定ファイルや全体の制御などを担当します。家で例えると「土台と骨組み」のようなものです。
- アプリ:特定の機能を担当する下位階層。ブログ機能、ユーザー認証、商品カタログなど、個別の機能を実装します。家で例えると「部屋」のようなものです。
1つのプロジェクトには、0個以上の複数のアプリを含めることができます。通常は少なくとも1つのアプリを作成します。
Djangoプロジェクトの作成
仮想環境が有効な状態で、以下のコマンドを実行してプロジェクトを作成します:
django-admin startproject webportal
この例では webportal
というプロジェクト名を使用していますが、自分のプロジェクトに合った名前に変更できます。日本語は使わず、英数字とアンダースコアを使った名前にしましょう。
このコマンドを実行すると、以下のようなフォルダ構造が作成されます:
webportal/
│
├── webportal/
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│
└── manage.py
各ファイルの役割は以下の通りです:
- 最上位の
webportal/
– プロジェクト全体のルートフォルダです - 内側の
webportal/
– プロジェクトの管理アプリです manage.py
– プロジェクト管理用のコマンドツールですsettings.py
– プロジェクトの設定ファイルですurls.py
– URLとビュー関数のマッピングを定義しますwsgi.py
とasgi.py
– Webサーバーとの連携に使用されます
プロジェクト作成のショートカット
プロジェクトを作成するときに、トップレベルのフォルダを作成したくない場合は、コマンドの最後にドット(.
)を追加します:
# 現在のフォルダ内に直接プロジェクトファイルを作成
django-admin startproject webportal .
このコマンドは、現在のフォルダ内に直接manage.py
とwebportal
フォルダを作成します。オンラインチュートリアルなどでよく見かける方法です。
Djangoアプリの作成
次に、プロジェクト内にアプリを作成します。アプリの作成にはmanage.py
を使います:
# プロジェクトフォルダに移動(ショートカットを使わなかった場合)
cd webportal
# アプリを作成
python manage.py startapp taskmanager
この例では taskmanager
というアプリ名を使っていますが、自分のアプリの目的に合った名前に変更してください。タスク管理機能やブログなど、アプリの機能がわかる名前が良いでしょう。
startapp
コマンドを実行すると、以下のようなフォルダ構造が追加されます:
webportal/
│
├── taskmanager/
│ │
│ ├── migrations/
│ │ └── __init__.py
│ │
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
│
├── webportal/
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│
└── manage.py
新しく作成されたtaskmanager
フォルダには、いくつかの重要なファイルが含まれています:
__init__.py
– このフォルダがPythonパッケージであることを示します。通常は編集する必要はありません。models.py
– データベースのテーブル構造を定義します。タスクの情報やユーザーデータなど、アプリのデータモデルをここで作成します。views.py
– ユーザーからのリクエストを処理する関数やクラスを定義します。アプリの主要なロジックはここに書きます。admin.py
– 管理画面の設定を行います。apps.py
– アプリの設定を行います。tests.py
– テストコードを書くためのファイルです。
アプリの登録
作成したアプリを使用するには、プロジェクトの設定ファイルに登録する必要があります。VSCodeなどのコードエディタでwebportal/settings.py
ファイルを開き、INSTALLED_APPS
リストに作成したアプリを追加します:
# webportal/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'taskmanager', # 追加したアプリ名
]
これで、Djangoプロジェクトとアプリの基本的な設定が完了しました。この後は、モデルの作成、ビューの実装、テンプレートの作成など、具体的な機能の開発に進むことができます。
まとめ
今回の記事では、Djangoを使ったWeb開発の最初のステップである環境構築とプロジェクト作成について学びました。ここで身につけたスキルは、あらゆるDjangoプロジェクトの土台となる重要なものです。
習得したスキル
- 仮想環境の作成と管理
- プロジェクト専用の独立したPython環境を構築する方法
- 異なるプロジェクト間でのパッケージ競合を防ぐテクニック
- Djangoのインストールと依存関係管理
- pipを使ったDjangoのインストール方法
- バージョン指定によるパッケージのインストール
- requirements.txtを使った依存関係の管理
- Djangoプロジェクトの構造理解
- プロジェクトとアプリの違いと関係性
- 各設定ファイルの役割と重要性
- Djangoアプリの作成と登録
- アプリの基本構造
- プロジェクトへのアプリ登録方法
これらの基本的なスキルは、今後あなたが作成するすべてのDjangoプロジェクトで活用できます。ブログシステム、ECサイト、SNSアプリケーション、業務効率化ツールなど、どのようなWebアプリケーションを開発する場合でも、今回学んだ手順が基礎となります。
次のステップ
ここまでの作業でDjangoプロジェクトの基本構造ができました。次のステップとしては以下のような内容に進むことをおすすめします:
- モデル(データベース構造)の設計と実装
- ビュー関数の作成とURLマッピング
- テンプレートを使ったフロントエンドの開発
- フォームの作成とバリデーション
- 管理画面のカスタマイズ
Djangoの魅力は、バッテリー同梱(必要な機能がすでに備わっている)の哲学です。認証システム、管理画面、ORM(オブジェクト関係マッピング)など、Webアプリケーション開発に必要な多くの機能があらかじめ用意されています。
まずは小さなプロジェクトから始めて、徐々に機能を追加していくことで、Djangoの理解を深めていきましょう。Web開発の可能性は無限大です!
本コンテンツへの意見や質問