ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
前提: Python 3 の準備
Django 5.x は Python 3.10 以降、Django 4.2 LTS は Python 3.8 以降必須です。まず Python のバージョン確認:
python3 --version
# Python 3.11.6
which python3
# /usr/bin/python3 など
pip3 --version
# pip 23.x ...
Linux でのインストール
Ubuntu / Debian
# Python 3 + venv + pip
sudo apt update
sudo apt install -y python3 python3-venv python3-pip
# 動作確認
python3 --version
python3 -m venv --help
CentOS / RHEL / Rocky / AlmaLinux
# RHEL 9 / Rocky 9
sudo dnf install -y python3 python3-pip
# 新しめの Python を入れたい場合
sudo dnf install -y python3.11 python3.11-pip
# 開発に必要なツール(C 拡張ビルド時)
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y python3-devel
pyenv で複数バージョン管理(推奨)
# Linux / Mac 共通
curl https://pyenv.run | bash
# ~/.bashrc に追記
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
# インストール
pyenv install 3.12.4
pyenv global 3.12.4
python --version
Mac でのインストール
Homebrew Python
# Homebrew がなければ
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Python 3 を導入
brew install python@3.12
# パス確認
which python3
# /opt/homebrew/bin/python3 (Apple Silicon)
# /usr/local/bin/python3 (Intel Mac)
Mac には /usr/bin/python3(macOS 同梱)もありますが、システム用なのでアプリ開発には Homebrew 版か pyenv を使うのが定石。
Xcode コマンドラインツール
# Pillow, psycopg2 等の C 拡張ビルドに必要
xcode-select --install
仮想環境(venv)を作る
Django プロジェクトごとに隔離環境を作るのが定石です:
# プロジェクト用ディレクトリ
mkdir ~/projects/myapp
cd ~/projects/myapp
# 仮想環境 (.venv) を作成
python3 -m venv .venv
# 有効化
source .venv/bin/activate
# プロンプトに (.venv) と表示される
# 確認: Python と pip がプロジェクト配下を指す
which python # .../myapp/.venv/bin/python
which pip # .../myapp/.venv/bin/pip
# 抜けるときは
deactivate
Django をインストール
# 仮想環境が有効化された状態で
pip install --upgrade pip
pip install django
# バージョン指定したい場合
pip install "django==5.2.*" # 5.2 系の最新
pip install "django>=4.2,<5" # 4.2 LTS 系
pip install django==5.2.1 # 特定バージョン
# 確認
django-admin --version
# 5.2.1
python -m django --version
# pip freeze で記録
pip freeze > requirements.txt
# Django==5.2.1
# asgiref==3.8.1
# sqlparse==0.5.0
初めての Django プロジェクト
# プロジェクト作成
django-admin startproject myproject .
# 末尾の . で「カレントに直接展開」
# ディレクトリ構成:
# myapp/
# ├── manage.py
# ├── myproject/
# │ ├── __init__.py
# │ ├── settings.py
# │ ├── urls.py
# │ ├── asgi.py
# │ └── wsgi.py
# └── .venv/
# 初期マイグレーション
python manage.py migrate
# 開発サーバ起動
python manage.py runserver
# → http://127.0.0.1:8000/
# 「The install worked successfully!」が表示されれば OK
アプリの追加
# polls アプリを作成
python manage.py startapp polls
# settings.py の INSTALLED_APPS に追記
# INSTALLED_APPS = [
# ...
# 'polls.apps.PollsConfig',
# ]
# Model 作成後
python manage.py makemigrations
python manage.py migrate
# スーパーユーザー作成(admin 画面用)
python manage.py createsuperuser
# → http://127.0.0.1:8000/admin/ にログイン
Docker での Django
# Dockerfile
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]# ビルド & 起動
docker build -t myapp .
docker run -p 8000:8000 myapp
# 単発で試したいだけ
docker run -it --rm -p 8000:8000 \
-v $PWD:/app -w /app python:3.12 bash
# コンテナ内で
pip install django
django-admin startproject myproject .
python manage.py runserver 0.0.0.0:8000
Pipenv / Poetry での導入
# --- Pipenv ---
pip install --user pipenv
pipenv install django
pipenv shell
django-admin startproject myproject .
python manage.py runserver
# --- Poetry ---
curl -sSL https://install.python-poetry.org | python3 -
poetry new myapp --src
cd myapp
poetry add django
poetry run django-admin startproject myproject .
poetry run python manage.py runserver
# --- uv(推奨) ---
curl -LsSf https://astral.sh/uv/install.sh | sh
uv init myapp
cd myapp
uv add django
uv run django-admin startproject myproject .
uv run python manage.py runserver
よくあるエラー
| 症状 | 原因 | 対処 |
|---|---|---|
command not found: django-admin | 仮想環境が有効化されていない or PATH 問題 | source .venv/bin/activate |
ModuleNotFoundError: No module named 'django' | システム Python に入れてしまった | 仮想環境で再インストール |
You have NN unapplied migration(s) | 初回マイグレーション忘れ | python manage.py migrate |
Error: That port is already in use | 8000 番が使用中 | runserver 8080 で別ポート |
| ssl モジュールがない (pyenv) | OpenSSL 開発パッケージ不足 | OS の openssl-devel 入れて pyenv 再ビルド |
動作確認チェックリスト
python3 --versionで 3.10+ が出るsource .venv/bin/activateで(.venv)プロンプトpython -c "import django; print(django.get_version())"でバージョン表示django-admin startproject myproject .でプロジェクトが作れるpython manage.py runserver→ ブラウザでロケット画面
FAQ
Q: pip と pip3 の違いは?
A: 仮想環境内では同じものを指す。システム側では pip3 が Python 3 の pip を確実に呼ぶ。python -m pip が最も確実。
Q: Apple Silicon Mac で動かない
A: Homebrew は /opt/homebrew に入る。PATH に /opt/homebrew/bin が無いと brew install した python が呼べない。
Q: 本番では何を使う?
A: runserver は開発専用。本番は Gunicorn / uWSGI + Nginx、または Docker + ASGI(Daphne / Uvicorn)。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- インストール方法(Windows)
- インストール方法(Linux/Mac)
- プロジェクトの作成方法(Windows)
- プロジェクトの作成方法(Mac)
- アプリケーションの作成方法
- 開発用サーバー(Windows)
- 開発用サーバー(Mac)
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?