Djangoのユーティリティーコマンドの使い方【manage.py】

Djangoのユーティリティーコマンドの使い方【manage.py】
pixabay


こんにちは、えびかずきです。

今回はDjangoのユーティリティコマンド(manage.py)の使い方について説明します。

アプリケーションの雛形を作ったり、サーバーを起動したりと、ちょくちょくで使う機会があります。

自分のためにも一度まとめておこうと思います。

あとおまけとして、PyCharmにコマンドを登録してコマンドを簡単に実行する方法についても記載しておきます。

筆者の開発環境

OS:MacOS Catalina 10.15
IDE:PyCharm
Python:3.7.3
Django:2.2.2
PostgreSQL:10.3

ユーティリティコマンドの役割

ユーティリティーコマンドはDjango開発をサポートする役割を持つコンポーネントです。

例えば、プロジェクトの新規作成を行ったり、開発環境のサーバーを起動したりといった機能あります。


ユーティリティーコマンドを実行するプログラムは『manage.py』は下図のとおりDjangoプロジェクト直下に配置されています。


これは『Django-admin startproject』でプロジェクトを新規作成した時に自動的に作成されますので、自分で作ったり編集したりする必要はありません。

代表的なコマンド

ここではよく使う代表的なコマンドを8つ紹介します。

※コマンドの実行は、開発しているDjangoプロジェクトのディレクトリへ『cd』コマンドで移動した後におこないます。

startapp

アプリケーションの新規作成を行います。

以下のように『アプリケーション名』を入力して実行します。

$ python manage.py startapp アプリケーション名

runserver

開発環境のローカルサーバーを起動します。

以下のように入力して実行します。

$ python manage.py runserver

makemigrations

マイグレーションファイルを作成します。

作成したモデル(models.py)に基づいたファイルを自動作成します。

以下のように入力して実行します。

$ python manage.py mkmigrations

※マイグレーションとは作成したモデル(models.py)をデータベースに反映させる処理のことをいいます。

migrate

マイグレーションファイルを基にマイグレーションを実行します。

以下のように入力して実行します。

$ python manage.py migrate

ロールバックする場合は以下のようにして実行します。

例えば『アプリケーション名  0001_initial』という指示を加えると、001_initialの適用直後まで戻ります。

$ python manage.py migrate アプリケーション名 0001_initial

showmigrations

マイグレーション状況の確認をします。

以下のように入力して実行します。

$ python manage.py showmigrations アプリケーション名
出力例:
[X] 0001_initial
[X] 0002_〇〇〇〇
[ ] 0003_〇〇〇〇
[ ] 0004_〇〇〇〇

この場合、『0002_〇〇〇〇』までが適用済みです。

createsuperuser

スーパーユーザー(管理者)の作成をします。

以下のように入力して実行します。

$ python manage.py createsuperuser

実行後は、ユーザー名、メールアドレス、パスワードの入力を求められます。

test

テストコードを実行します。

下のようにして実行すると、自動的にプロジェクト内の全テストを実行します。

$ python manage.py test

shell

インタープリタの実行をします。

モデルを呼び出して、データベース操作をテストしたりできます。

$ python manage.py shell

コマンドリスト

説明したコマンドを下表にまとめました。

command説明
startappアプリケーションの雛形を作る
runserver開発環境のサーバーを起動する
makemigrationsマイグレーションファイルを作成する
migrateマイグレーションを実行する
showmigrationsマイグレーション状況を確認する
createsuperuser管理者を作成する
testプロジェクトの実行テストを実行する
shellインタープリタを実行する

PyCharmへのコマンド登録方法

ここではおまけとして、PyCharm(IDE)へのコマンド登録方法を簡単に紹介します。

今回は例として『runserver』コマンドを登録していきます。


1.PyCharmを起動し、『Run』→『Edit Configurations…』を開く。


2.左上の『+』をクリックし、『Python』を選択する。


3.赤枠を入力して『OK』をクリック。

Name:
この設定に名前をつける(なんでもOK)。
Script path:
manage.pyの絶対パスを入力。
Parameters:
『runserver』を入力。
Enviroment Variables:
DB情報を設定する。
Macの場合、入力不要。
Winの場合、DB_USER,DB_PASSWORDの環境変数を設定する。


これでコマンドの登録が完了しました!

まとめ

今回はDjangoのユーティリティーコマンドの使い方について説明しました。

ユーティリティーコマンドはDjango開発を進める上に頻繁に実行する必要が出てきますので、今回紹介したPyCharmの例のようにお使いのIDEに簡易的に実行できる環境を作っておくのが賢明です。

ではまた次回!

参考書籍

この記事は下の書籍を参考にさせていただきました。

動かして学ぶ!Python Django開発入門(kindle版)

Djangoカテゴリの最新記事