こんにちは、えびかずきです。
今回は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に簡易的に実行できる環境を作っておくのが賢明です。
ではまた次回!
参考書籍
この記事は下の書籍を参考にさせていただきました。
コメントを書く