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
# 未使用のマイグレーションを確認