ブログBLOG

\ Web・ゲーム開発に関する情報を発信中 /

【Django】Djangoでよく使うコマンド集

Django
django , python
20230322_django-command-list-tmb

ご覧いただきありがとうございます!
領護(りょうご)です。

日頃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

最後に

他にもよく使うコマンドがあり次第、どんどん追加していきます!


\ よかったらシェアしてね /

関連記事