【Django】django-admin startprojectでプロジェクトを作成する手順

Django

こんにちは、かつコーチです。

「Djangoとは?」の記事でDjangoの概要を紹介しましたが、実際に手を動かさないとイメージはつかめません。
この記事では、Django 5系を前提に、django-admin startprojectコマンドでプロジェクトを作成し、開発サーバーが起動するまでの手順を解説します。

Djangoの環境構築手順

手順1:Pythonのバージョンを確認する

Django 5系はPython 3.10以上を要求します。
まずはターミナルでバージョンを確認しましょう。

python3 --version
# Python 3.11.6 のように表示されればOK

古いバージョンしか入っていない場合は、公式サイトやpyenvなどでPythonを更新してから進めてください。

手順2:仮想環境を作成する

Djangoのプロジェクトごとに、依存パッケージを隔離するための仮想環境(プロジェクト専用のPython実行環境)を作るのが基本です。
仮想環境を使わないと、別のプロジェクトのパッケージバージョンと衝突してトラブルの原因になります。

# プロジェクト用フォルダを作成して移動
mkdir myblog && cd myblog

# 仮想環境を作成
python3 -m venv venv

# 仮想環境を有効化(Mac/Linux)
source venv/bin/activate

# 仮想環境を有効化(Windows)
venv\Scripts\activate

有効化に成功すると、ターミナルの先頭に(venv)と表示されます。

手順3:Djangoをインストールする

仮想環境が有効な状態で、pipを使ってDjangoをインストールします。

pip install django

バージョンを固定したい場合は、以下のようにDjango 5系を明示的に指定します。

pip install "django>=5.0,<6.0"

インストールが終わったら、バージョンを確認しておきましょう。

python -m django --version
# 5.0.6 のように表示される

手順4:django-admin startprojectでプロジェクトを作成する

いよいよ本題のdjango-admin startprojectコマンドです。
これはDjangoプロジェクトの雛形(ひな形)一式を自動生成してくれるコマンドです。

django-admin startproject config .

ここでのポイントは、末尾に.(ピリオド)を付けていることです。
.を付けると、現在のフォルダ(今回はmyblog)を直接プロジェクトのルートとして扱ってくれます。

つまずきやすい注意点として、.を付けずに実行すると次のような構造になります。

myblog/
└── config/
    ├── config/
    ├── manage.py

こうなると、プロジェクトフォルダが二重にネストしてパスの管理が煩雑になります。
筆者も最初のうちは.を付け忘れて、manage.pyがどこにあるか分からなくなり、フォルダを何度も作り直した経験があります。

手順5:開発サーバーを起動して動作確認する

プロジェクトが作成できたら、開発用サーバーを起動して動作を確認します。

python manage.py runserver

ターミナルに以下のようなログが表示されれば成功です。

Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

ブラウザでhttp://127.0.0.1:8000/にアクセスし、ロケット🚀のイラストと「The install worked successfully!」のページが表示されればOKです。

よくあるつまずきポイント・エラー対処

ポート番号が競合してエラーになる

❌ Before
Error: That port is already in use.

すでに他のプロセスが8000番ポートを使っている場合に発生するエラーです。
この場合はポート番号を指定して起動し直せば解決します。

✅ After
python manage.py runserver 8080

筆者も過去に別プロジェクトの開発サーバーを起動したまま忘れており、このエラーに遭遇したことがあります。
Ctrl + Cで既存のサーバーを止めるか、別のポート番号を指定する習慣をつけておくと安心です。

仮想環境を有効化し忘れてDjangoが見つからない

❌ Before
python manage.py runserver
# ModuleNotFoundError: No module named 'django'

これは仮想環境を有効化しないままコマンドを実行したときによく出るエラーです。

✅ After
source venv/bin/activate
python manage.py runserver

ターミナルを再起動するたびに(venv)の表示が消えるため、作業を再開するときは必ず有効化コマンドを打つ癖をつけましょう。

応用・一歩先の使い方

requirements.txtで依存関係を管理する

チーム開発や本番デプロイを見据えるなら、インストール済みパッケージをrequirements.txtにまとめておくと便利です。

pip freeze > requirements.txt

他の環境でこのファイルを使ってセットアップする場合は、次のコマンド一発で同じ環境を再現できます。

pip install -r requirements.txt

Docker環境という選択肢もある

チームで環境差異をなくしたい場合は、仮想環境の代わりにDockerでDjangoを動かす方法もあります。
本記事では触れませんが、規模が大きくなるプロジェクトでは検討する価値があります。

まとめ

この記事のポイント

  • Django 5系にはPython 3.10以上が必要
  • 仮想環境を作ってからDjangoをインストールするのが基本
  • django-admin startproject config ..を忘れるとフォルダがネストしてしまう
  • python manage.py runserverで開発サーバーを起動し、動作確認する

次に読むべき記事

プロジェクトが作成できたら、次はDjango特有の設計思想である「MTVパターンとDjangoのディレクトリ構成を理解する」記事で、生成されたファイルの役割を理解していきましょう。

タグ: Django, 初心者向け, 環境構築

タイトルとURLをコピーしました