Django
MySQL
Python3

Python3 + Django で MySQL に接続

More than 3 years have passed since last update.


概要

Python3 で MySQL に接続しようとしたときのメモです。

具体的な環境は次の通りです。


  • Python 3.4.2

  • MySQL 5.6.22

  • Django 1.7.5


インストールしたもの

Python3 と Django, MySQL は既にインストールされているものとします。

$ pip install PyMySQL

Python2 で大活躍だった python-mysql は Python3 環境では動かないようなので PyMySQL を代わりにインストールします。


設定

settings.py の DATABASES 変数を次のようにします。

DATABASES = {

'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbname', # 適当です
'USER': 'dbuser', # 適当です
'PASSWORD': 'FIXME', # 適当です
'HOST': 'FIXME', # 適当です (ローカルホストなら空でも可)
'PORT': 'FIXME', # 適当です (デフォルトポートなら空でも可)
}
}

ここまでした状態で, 次の二行を Django プロジェクトのどこかに追加します。私は manage.py の中に追加しました。

import pymysql

pymysql.install_as_MySQLdb()

私の環境ではこれで Python3 + Django から MySQL へ接続できました。