Django・Pythonで使うコマンドをまとめました。随時更新していきますのでご活用下さい。
# 仮想環境関連
python -m venv env
# 仮想環境を作成して依存関係を隔離
source env/bin/activate # (Linux/macOS)
env\Scripts\activate # (Windows)
# 仮想環境を有効化し、パッケージ管理を簡単に
deactivate
# 仮想環境を無効化
pip install -r requirements.txt
# 必要なパッケージをインストールして環境を整える
# Djangoプロジェクトの作成・初期設定
django-admin startproject プロジェクト名
# 新しいDjangoプロジェクトを作成
django-admin startproject プロジェクト名 .
# プロジェクトディレクトリをルートに作成
python manage.py startapp アプリ名
# 新しいアプリケーションを追加
python manage.py runserver
# 開発サーバーを起動
python manage.py runserver 8080
# 特定ポートで開発サーバーを起動
python manage.py runserver 0.0.0.0:8000
# 外部アクセス可能なIPでサーバーを起動
python manage.py createsuperuser --skip-checks
# パスワードバリデーションを無視してスーパーユーザーを作成
python manage.py makemigrations
# モデルの変更内容をマイグレーションに反映
python manage.py migrate
# データベースにマイグレーションを適用
python manage.py migrate アプリ名 zero
# 特定アプリのマイグレーションをリセット
python manage.py showmigrations
# 現在のマイグレーション状態を確認
python manage.py sqlmigrate アプリ名 マイグレーション番号
# マイグレーション内容のSQLクエリを表示
# データ操作および管理
python manage.py createsuperuser
# 管理画面へのスーパーユーザーを作成
python manage.py flush
# データベースを初期化
python manage.py dumpdata > data.json
# データベース内容をJSONでエクスポート
python manage.py loaddata data.json
# エクスポートしたJSONデータをインポート
python manage.py dbshell
# データベースのSQLシェルを起動
# テスト関連
python manage.py test
# すべてのテストを実行
python manage.py test アプリ名
# 特定アプリのテスト実行
python manage.py test --verbosity=2
# テストの詳細表示
coverage run --source='.' manage.py test
coverage report
# テストカバレッジを取得してテストカバー率を確認
# 静的ファイル・キャッシュ
python manage.py collectstatic
# 本番用に静的ファイルを収集
python manage.py clear_cache
# キャッシュをクリア(カスタムスクリプト追加が必要)
# その他便利なコマンド
python manage.py shell
# Django環境でのPythonシェルを起動
python manage.py diffsettings
# デフォルト設定との違いを確認
python manage.py changepassword ユーザー名
# 特定ユーザーのパスワード変更
python manage.py runserver --noreload
# サーバーの自動リロードを無効化
python manage.py clean_pyc
# キャッシュファイルを削除(Django Extensionsが必要)
python manage.py show_urls
# プロジェクト内のすべてのURLを一覧表示(Django Extensionsが必要)
pip freeze > requirements.txt
# インストールされているパッケージをrequirements.txtに記録
python manage.py sql_injection_check
# SQLインジェクションチェック(Django Debug Toolbarが必要)
python manage.py unused_migrations
# 未使用のマイグレーションを確認