ご覧いただきありがとうございます!
領護(りょうご)です。
日頃Djangoを使っていると「あれを処理するコマンドなんだっけ」みたいなことありませんか?
この記事では、Djangoでよく使うコマンドをまとめました。
実行環境
Python・・・3.10.9
Django・・・4.1.7
基本コマンド
django-admin startproject [プロジェクト名]
Djangoプロジェクトを作成
[プロジェクト名]には、好きなプロジェクト名が入ります。
ルートに作成する場合は、プロジェクト名の後に「.」を入力します。
# Djangoプロジェクト(django_project)を作成する例
django-admin startproject django_project
# Djangoプロジェクトをルートに作成する例
django-admin startproject django_project .
python manage.py startapp [アプリ名]
アプリを作成する
[アプリ名]には、好きなアプリケーション名が入ります。
# homeアプリを作成する例
python manage.py startapp home
python manage.py collectstatic
静的ファイルを取集してstaticフォルダを作成
本番環境でstaticフォルダをルートに作成する時に使用します。
python manage.py collectstatic --noinput
CI/CDを使ってデプロイを自動化する場合は「--noinput」を追加します。
「--noinput」を追加することで、staticフォルダの上書きを自動的に許可してくれます。
DB操作コマンド
python manage.py showmigrations
マイグレーションする内容を一覧表示
マイグレーションファイルを作成する前にマイグレーション内容を確認したい時に使用します。
python manage.py makemigrations
マイグレーションファイルを作成
マイグレーションファイルを作成します。
python manage.py migrate
マイグレーションファイルをデータベースに適用
作成したマイグレーションファイルをデータベースに適用します。
python manage.py createsuperuser
管理ユーザーを作成
Djnago管理画面のログインで使用する管理ユーザーを作成します。
起動コマンド
python manage.py runserver [アドレス/ポート番号]
Djangoプロジェクトを起動
Djangoプロジェクトをローカル環境で起動する時に使用します。
[アドレス/ポート番号]には、好きなポート番号を指定できます。
未入力の場合は、自動的に8000番ポートになります。
# ポート番号を80番に指定する例
python manage.py runserver 127.0.0.1:80
バックアップコマンド
python manage.py dumpdata > [バックアップ先/ファイル名]
python manage.py dumpdata > [バックアップ先/ファイル名] --indent [インデント数]
データベースから全データをバックアップ
データベースから全データをダンプ(バックアップ)します。
[バックアップ先/ファイル名]には、バックアップ先とファイル名を指定します。
「--indent」オプションを指定することでjsonファイルが見やすくなります。
[インデント数]には、インデントしたい間隔の数値を指定します。
# backup.jsonを作成してバックアップする例
python manage.py dumpdata > backup.json
# homeフォルダの中にbackup.jsonを作成してバックアップする例
python manage.py dumpdata > home/backup.json
# インデント数を2に指定する例
python manage.py dumpdata > backup.json --indent 2
python manage.py dumpdata [アプリ名].[モデル名] > [バックアップ先/ファイル名]
データベースから特定のデータをバックアップ
データベースから特定のデータをダンプすることもできます。
[バックアップ先/ファイル名]には、バックアップ先とファイル名を指定します。
[アプリ名]には、ダンプしたいアプリ名を指定します。
[モデル名]には、ダンプしたいモデル名を指定します。
# homeアプリのデータをダンプする例
python manage.py dumpdata home > backup.json
# homeアプリのcontentモデルデータをダンプする例
python manage.py dumpdata home.content > backup.json
python manage.py loaddata [バックアップ元/ファイル名]
バックアップしたデータをリストア
バックアップしたデータをリストア(復元)します。
[バックアップ元/ファイル名]には、リストアしたいバックアップ元とファイル名を指定します。
# backup.jsonを使用してリストアする例
python manage.py loaddata backup.json
最後に
他にもよく使うコマンドがあり次第、どんどん追加していきます!