目的
DjangoからMySQLのDBに接続できるようにします。
環境
Python:3.8
Django:3.1.5
MySQL: Ver 8.0.21 for Win64 on x86_64
今回はPipenvで構築した仮想環境で行います。
#環境構築
・pythonのインストールとDjangoアプリケーションの作成をします。
$ pipenv --python 3.8 # pythonインストール
$ pipenv shell # 仮想環境へ入る
$ pipenv install django # Djangoインストール
$ pipenv install mysqlclient # ドライバをインストール
$ django-admin startproject <プロジェクト名> # Djangoのプロジェクトを作成
$ cd <プロジェクト名> # Djangoプロジェクトのmanage.pyがある階層に移動
$ python manage.py startapp <アプリケーション名> # Djangoのプロジェクトを作成
・MySQLに接続し、データベースを作成します。
mysql> create database <テーブル名>;
DjangoへDB情報を登録
Djangoプロジェクトのsettings.py
にあるDATABASES
の設定を変更します。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '<作成したMySQLのDB名>',
'USER': 'root', # MySQLのユーザ名
'PASSWORD': '<MySQLのパスワード>',
'HOST': 'localhost',
'PORT': '3306',
}
}
接続確認
Djangoアプリケーションのmanage.py
がある階層で下記コマンドを実行します。
$ python manage.py dbshell
これでDjangoに設定したmysqlのDBに接続できます。
最後に念のため接続しているDBが正しいか確認して終わります。
mysql> SELECT database(); # 接続されているDBが表示されます。
以上で環境の構築から設定、確認までを行えました。