【Python】djangoでMySqlを使えるようにする

2019年1月27日

djangoはインストールした時点ではSQLiteというDBをサポートしているらしい。

私はMySqlを使おうと思うので、MySqlに対応させるための設定を記載していきます。

※SQLiteを使うつもりの方は本記事の設定は不要です。

 

django自体のインストールは前回記事に記載

【Python】【django】Windows10+anaconda+djangoの環境構築

 

djangoでMySqlを使えるようにする

DBドライバーをインストールする

djangoでMySql使うためのDBドライバーとして「pymysql」というものがありますので、こちらをインストールします。(ちなみにPythonには他にもMySql用のドライバーがあるので、記事によっては別のものを使用している可能性があります。)

以下を実行することでインストールできます。

conda install -c anaconda pymysql

 

これに加えて、django側の設定を少しいじれば完了です。

 

manege.pyに設定を追加

前回記事の通り作成したプロジェクト直下にmanege.pyというファイルがあります。

こちらのファイルはいわゆるアプリケーション管理用ファイルという感じのものです。

アプリケーションサーバの起動もこちらのファイルで行います。

MySqlを使うようにするためにこちらのファイルに少し設定を追加します。

#!/usr/bin/env python
import os
import sys
# 以下2行を追加する
import pymysql
pymysql.install_as_MySQLdb()
# 以下のコードは省略

こちらの修正は以上。次に設定ファイルを修正します。

 

settings.pyを編集する

MySqlを使用するためにもう一つファイルを修正する。

作成したプロジェクト直下にプロジェクト名のフォルダがあると思います。

この下に、settings.pyというファイルがありますが、こちらがdjangoの設定ファイルです。

こちらに以下の修正をしましょう。

# Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
DATABASES = {
	'default': {
		'ENGINE': 'django.db.backends.mysql',
		'NAME': 'DB名',
		'USER': 'ユーザ名',
		'PASSWORD': 'パスワード',
		'HOST': '', # ローカルの場合は不要
		'POST': '', # ローカルの場合は不要
	}
}

settings.pyの以上に記載した部分を自身のMySql環境に合わせて記載します。

 

設定はこれにて終了です。

 

まとめ

今回はdjangoでMySqlを使用するための方法を記載しました。

MySqlを使用するには、DBドライバーを追加し、2ファイルを修正するのみです。非常に簡潔な設定のように思えますね。(javaのSpring bootだと設定が色々必要だった記憶があるので…)