新手学django大坑之MySQLdb篇

最近开始学习Python,并搭建了django框架,环境配置如下:python3.4,django1.8.18,mysql:10.1.21-MariaDB。

(此前记得在项目settings文件,设置使用mysql)设置如下:

新手学django大坑之MySQLdb篇

在练习连接mysql时,报错:no module named ‘MySQLdb’。原因是:python3.x开始已经没有了‘mysqldb’(python2.x下可行)。需要下一个‘pymysql’的替代工具。

坑爹的事情发生了,使用‘pip install pymysql3’,安装成功后,再次执行‘python manage.py makemigrations ’又报错’from MySQLdb.converters import Thing2Literal, conversions # isort:skipImportError: cannot import name 'Thing2Literal' ’。究其原因;pymysql版本过时。

又找大神博客得知github上一个开源项目:https://github.com/PyMySQL/PyMySQL可以解决这个问题(此前需要卸载已安装的pymysql3:pip3 uninstall pymysql3),克隆下载源码,解压(最好放到scripts文件夹下),进入目录,执行‘python setup.py install’。

同时:配置项目下__init__文件:

新手学django大坑之MySQLdb篇

继续测试‘ python manage.py makemigrations’

新手学django大坑之MySQLdb篇

大功告成,

进入数据库查看刚才的创建:

新手学django大坑之MySQLdb篇