具有纠结症的同学请点此链接:<a>https://www.zhihu.com/question/24549965</a>
最近在学习django,在学到连接数据库的时候,发现了一个坑,就是python3连接MySQL不再使用MySQLdb。具体报错是:No module named 'MySQLdb'。
网上查了一下,现在大部分都是使用PyMySQL用于连接MySQL数据库,下面是使用方法:
第一步:安装PyMySQL用于替代MySQLdb
pip install PyMySQL
然后在工程目录的init.py中填写下面两句话
import pymysql
pymysql.install_as_MySQLdb()
第二步:修改settings.py,配置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #主要是这里,将默认的sqlite3改为mysql
'NAME': "testdjango", #数据库的名字
'USER': "root",#数据库用户名
'PASSWORD': "root",#数据库密码
'HOST': "127.0.0.1",数据库地址,默认本机
'PORT': "",数据库端口,默认3306
}
}
经过上面两步我们在使用 makemigrations(检查要修改的数据库字段) 和 migrate(修改数据库)时就不会报错了。