ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Django バージョンを確認する 4 つの方法
方法 1: django-admin コマンド
django-admin --version
# 5.2.1
# 仮想環境を有効化していること
source .venv/bin/activate
django-admin --version
方法 2: python -m django
python -m django --version
# 5.2.1
# 複数 Python があってどちらの Django か明確にしたいとき有用
python3.11 -m django --version
python3.12 -m django --version
方法 3: Python シェルで import
>>> import django
>>> django.get_version()
'5.2.1'
>>> django.VERSION
(5, 2, 1, 'final', 0)
# タプルでバージョン比較できる
>>> if django.VERSION >= (4, 2):
... print('4.2 以上')
# get_version は文字列、VERSION はタプル
# 最終フィールド: 'alpha' / 'beta' / 'rc' / 'final'
方法 4: pip コマンド
# 詳細
pip show django
# Name: Django
# Version: 5.2.1
# Summary: A high-level Python Web framework ...
# Location: .../site-packages
# Requires: asgiref, sqlparse
# Required-by: ...
# 一覧から検索
pip list | grep -i django
# Django 5.2.1
# django-environ 0.11.2
# JSON で取得
pip list --format=json | python -c "import json,sys; print([p['version'] for p in json.load(sys.stdin) if p['name'].lower()=='django'][0])"
プロジェクト内で確認
稼働中のプロジェクトに対しては manage.py 経由が確実です:
# プロジェクトの仮想環境 + プロジェクトの Django を使う
python manage.py --version
# または
python manage.py shell -c "import django; print(django.get_version())"
# settings.py のロード問題を回避したいとき
python -c "import django; print(django.get_version())"
requirements.txt / pyproject.toml で確認
# requirements.txt
grep -i "^django" requirements.txt
# Django==5.2.1
# pyproject.toml (Poetry)
grep -A1 "\[tool.poetry.dependencies\]" pyproject.toml
# python = "^3.12"
# django = "^5.2"
# Pipfile
grep -A2 "\[packages\]" Pipfile
# django = "==5.2.1"
Django のリリースサイクルと LTS
Django は約 8 か月ごとに新バージョンがリリースされ、2 年に 1 度 LTS(Long-Term Support)版が出ます。LTS は3 年間のサポート期間で、それ以外のリリースは約 16 か月(次の +1 リリース時まで)。
| バージョン | 種別 | サポート期間 | 必要 Python |
|---|---|---|---|
| 5.2 | LTS | 2025-04 〜 2028-04 | 3.10+ |
| 5.1 | 通常 | 2024-08 〜 2025-12 | 3.10+ |
| 5.0 | 通常 | 2023-12 〜 2025-04 | 3.10+ |
| 4.2 | LTS | 2023-04 〜 2026-04 | 3.8+ |
| 3.2 | LTS (EOL) | 2021-04 〜 2024-04 | 3.6+ |
本番運用するプロジェクトはサポート期間が長い LTS を選ぶのが定石です。チュートリアル / 学習なら最新通常版で OK。
Python と Django のバージョン互換
| Python | 動く Django |
|---|---|
| 3.12 | 4.2, 5.0, 5.1, 5.2 |
| 3.11 | 4.1, 4.2, 5.0, 5.1, 5.2 |
| 3.10 | 4.1, 4.2, 5.0, 5.1, 5.2 |
| 3.9 | 4.0, 4.1, 4.2 |
| 3.8 | 3.2, 4.0, 4.1, 4.2 |
| 3.7 | 3.0, 3.1, 3.2 |
# Python のバージョン確認
python --version
python3 --version
# 古い Python で新しい Django を入れようとすると
# ERROR: Could not find a version that satisfies the requirement django==5.2
依存パッケージの互換性確認
Django プラグイン(django-rest-framework / django-debug-toolbar 等)はDjango のメジャー / マイナーバージョンに連動することが多い。pip check で依存破れを検出:
pip check
# No broken requirements found. ← OK
# 依存ツリー(pipdeptree)
pip install pipdeptree
pipdeptree -p django
# Django==5.2.1
# ├── asgiref [required: >=3.8.1,<4, installed: 3.8.1]
# └── sqlparse [required: >=0.3.1, installed: 0.5.0]
ロックファイルでの確認
# Poetry
poetry show django
# name : django
# version : 5.2.1
# description : A high-level Python Web framework ...
# Pipenv
pipenv graph | head
# Django==5.2.1
# - asgiref [required: >=3.8.1,<4, installed: 3.8.1]
# - sqlparse [required: >=0.3.1, installed: 0.5.0]
# uv
uv pip show django
本番サーバで稼働中のバージョンを確認
# 本番サーバに SSH
ssh prod
cd /var/www/myapp
# 仮想環境を有効化
source .venv/bin/activate
python -m django --version
# または直接
.venv/bin/python -c "import django; print(django.get_version())"
# Docker コンテナ内で
docker exec -it myapp python -m django --version
# Kubernetes Pod 内で
kubectl exec -it pod/myapp -- python -m django --version
バージョンアップグレード時の確認
# アップグレード前のバージョン記録
pip freeze > requirements.before.txt
# アップグレード
pip install --upgrade django
# アップグレード後の差分
pip freeze > requirements.after.txt
diff requirements.before.txt requirements.after.txt
# テスト
python manage.py check
python manage.py migrate --dry-run
python manage.py test
# Deprecation Warning を見逃さないために
python -Wd manage.py runserver
古い Django プロジェクトの判定
新しく引き継いだプロジェクトで Django バージョンを推定する手がかり:
| 場所 | 確認ポイント |
|---|---|
requirements.txt / Pipfile.lock / poetry.lock | Django==x.y |
setup.py / setup.cfg / pyproject.toml | install_requires / dependencies |
manage.py | 古い形式(execute_from_command_line が無い)は 1.x |
settings.py | MIDDLEWARE_CLASSES(旧)/ MIDDLEWARE(新 1.10+) |
| URL 定義 | url()(旧)/ path()(2.0+) |
django.utils.encoding.smart_text | 3.0 で削除(旧コード) |
FAQ
Q: django-admin --version が「command not found」
A: 仮想環境が有効化されていない可能性大。which django-admin でパスを確認、source .venv/bin/activate。グローバルにも入れたいなら pipx install django。
Q: グローバルとプロジェクトで異なるバージョンがある
A: 仮想環境内では仮想環境の Django が呼ばれます。which python / which django-admin で実体を確認してください。
Q: ベータ版・rc 版が入ってしまった
A: django.VERSION が (5, 2, 0, 'rc', 1) のような形になる。pip install "django>=5.2,<6" --upgrade で安定版にダウングレード。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- 環境構築とプロジェクト/アプリの作成
- MVC(MVT)のそれぞれの使い方と説明
- データベースへの接続と操作
- Django Administration
- git管理
- エラー一覧
- バージョンの確認方法
- ログ出力方法
- SQLのログ出力方法
- ログのローテート設定
- settings.pyの定数にアクセスする方法
- 本番環境へのインストールとアプリのデプロイ(apache編)
- 本番環境へのインストールとアプリのデプロイ(nginx編)
- djangoアプリの本番の開始URLを変更する
- 静的(static)ファイルの置き場所と読み込み(画像、css、js )
- CSRFトークンをAjaxで使用する方法
- ajaxの使用例(POST編)
- ファイルのアップロードとファイルの名前
- クイックスタート/チュートリアル
- ログイン機能
- テンプレート側のログイン判定
- ビュー側のログイン判定
- 管理者ユーザーの作成/判定と管理画面
- モデルのjson化とレスポンス
- runserverでポートを指定する方法
- cronによるバッチ実行
- テンプレートで利用する共通のcontextを定義する方法
- プログラムが本番サーバーで反映されない場合の対処法
- APIの作成
- cron用コマンド・ファイルの作成
人気ページ
- 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
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 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
- 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
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・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
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?