django-adminとmanage.py
django-adminとmanage.py
プロジェクトの作成やアプリケーションの追加などで必要になるdjango-adminとmanage.pyですが、普段よく使うものから使わないものまで様々なコマンドがあります。
主要なものだけでも覚えておきましょう。
また基本的にはdjango-adminでもmanage.pyでも同じコマンドを使用することができ、結果も変わりません。こちらではユースケースによってどちらがdjango-admin
なのかmanage.py
なのか、一般的な方にコマンドを割り当てて説明しています。
django-admin
startproject
Djangoのプロジェクトを作成するときに使用するコマンド。基本的にはDjangoのインストール後初めて使用するコマンドです。
使用例
django-admin startproject プロジェクト名
コマンドサンプル
django-admin startproject sample_project
makemessages
プロダクトを多言語化する際に使います。
実際に日本語でサービスを開発している際にそれぞれの日本語を英訳したいとしましょう。
その際はこのmakemessagesを使用すると、開発者がhtmlファイルなどに記述してあるtrans
タグをDjangoが検知して、全ての日本語文をpo
というファイルに書き起こしてくれます。
使用例
django-admin makemessages -l 言語コード
コマンドサンプル
# 言語を英語化するためのファイルを作成する
django-admin makemessages -l en
compilemessages
こちらも多言語化で使用します。
po
ファイルに英訳した文を書き込んだらこのコマンドを使用することでDjangoが自動で該当する日本語文を英文に訳してくれるようになります。
コマンドサンプル
django-admin compilemessages
manage.py
startapp
プロジェクトにアプリケーションを追加する際に使用するコマンド。
使用例
python manage.py startapp app名
コマンドサンプル
python manage.py startapp sample_app
runserver
Djangoのサーバーをローカルで稼働させるためのコマンド。
コマンドサンプル
python manage.py runserver
# ポート番号を指定することもできる
python manage.py runserver 8080
createsuperuser
データベースにスーパーユーザーのデータを登録することができる
コマンドサンプル
python manage.py createsuperuser
makemigrations
変更を加えたmodels.py
の情報をデータベースに反映させるためのファイルを作成するコマンド。migrate
とセットで覚えましょう。
コマンドサンプル
python manage.py makemigrations
# appを指定することも可能
python manage.py makemigrations sample_app
migrate
作成されたmigrationsファイルを元にデータベースに変更を反映させるコマンド。
コマンドサンプル
python manage.py migrate
# appを指定することも可能
python manage.py migrate sample_app
shell
コマンドラインでPythonやDjangoのコマンドを入力することができる。ここで実際にデータベースの情報を取得したり作成・更新・削除することもできる。
サービスを運用していて実際に直接データに手を加えないといけない時もこのコマンドを使用することが多い。
コマンドサンプル
python manage.py shell
dumpdata
データベースの情報をファイルに書き出すことができる。ファイルの種類をjsonやxmlなどに指定したり、一部のデータのみにするなど制限をかけたりすることができる。
コマンドサンプル
python manage.py dumpdata data.json
# ファイル形式をyamlに
python manage.py dumpdata --format=yaml data.json
# 特定のapp
python manage.py dumpdata account data.json
loaddata
ファイルに記述してあるデータベースのデータ情報を現在のデータベースに書き込むことができる。dumpdata
とセットで覚えると良い。
コマンドサンプル
python manage.py loaddata data.json
# ファイル形式をyamlに
python manage.py loaddata --format=yaml data.json
# 特定のapp
python manage.py loaddata account data.json
開発を進めていると特定のタイミングでmanage.py
やdjango-admin
コマンドを使用しなければいけない時がくるのでぜひ覚えておきましょう。
Just Python フリープラン
ジャスパイなら教材は全て無料!