首先说明一下,Django2.0以上版本不支持Mysql5.7以下版本,Python3.4以上版本不支持mysqldb,如何在这种环境下通过Django操作mysql数据库那?
1.安装Mysql5.7以上版本请看我的上一篇博客,里面讲得很清楚,Django2.0以上版本和Python3.6以上版本的安装请自行查找相关学习资料,在此容我不能一一赘述,请见谅。
2.配置相关环境变量
查找本地python解释器安装目录,将其添加到path系统变量中,例如:D:\Programs\Python\Python36-32;D:\Programs\Python\Python36-32\Scripts
D:\Programs\Python\Python36-32;是设置python为系统变量,D:\Programs\Python\Python36-32\Scripts是设置python工具包为系统变量,因为我们安装很多包都需要使用pip命令。
3.解决pip命令问题
为解决pip安装太慢可以从清华的服务器中直接下载镜像文件,命令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包的名字,如果出现pip不是内部命令,要么是你的系统环境配置错误,要么就请更新你的pip版本,命令:pip install --upgrade pip,之后打开新的命令窗口(管理员),防止以上命令未能生效。
4.安装pymysql,解决python3.4以上版本不支持mysqldb的问题,不需要安装mysqlclient,mysqlclient目前只支持python3.4以下版本
按照第三步的方法安装pymysql,更改Django项目中的配置文件settings.py:
将原来的数据sqlite3注释掉就可以了。
这里请注意,在使用mysql时,mysql中必须存在相关的数据库,否则连接失败,即在连接mysql时先创建数据库,如何创建请参考我的上一篇博客的末尾。接着在项目文件中找到__init__.py,一定是项目文件不是app文件,添加:
import pymysql
pymysql.install_as_MySQLdb()
之后操作数据库创建表操作跟Django自带的sqlite3数据库一样,完成数据迁移,并执行,在terminal中输入:
python manage.py makemigrations 完成数据迁移
python manage.py migrate 执行
目前正在学习当中,有错误的地方请各位大神多多包涵!