Build django and mysql with docker-compose.
djangoデフォルトのsqlite3ではなく、mysqlをContainerで起動し使うようにしている。
- 「sample.env」を「.env」に変更
- 「.env」は「.gitignore」に登録する
- docker-compose up
- settings.pyのDATABASESを以下のように変更
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'sampledb',
'USER': 'mysql_user',
'PASSWORD': 'mysql_password',
'HOST': 'mysql_db',
'PORT': '3306',
}
}
- python manage.py runserver
(ctl-Dで止めてからrunserverでも良さそう)
- docker exec -it (contqainer ID or Name) bash
- python manage.py migrate
- マイグレーション実行
- python manage.py showmigrations
- マイグレーション状態確認
- python manage.py dbshell
- (manage.pyのあるディレクトリで実行)
- python manage.py createsuperuser
- (manage.pyのあるディレクトリで実行)
- http://localhost:8000/admin/
- ログインIDは、createsuperuserで作ったやつ
- python manage.py startapp polls
- (pollsはチュートリアルを参考)
- https://docs.djangoproject.com/ja/4.2/intro/tutorial01/