9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Django】mysqlclientでMySQLのDBへ接続する

Posted at

目的

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が表示されます。

以上で環境の構築から設定、確認までを行えました。

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?