Django下创建数据库迁移出错(Error loading MySQLdb module: No module named 'MySQLdb')

首先做下笔记,关于setting的设置

创建django项目的时候,在setting中我连接的是mysql数据库,而不是django默认的sqlite3,所以在setting中的database设置如下

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'bookdb',   # mysql中数据库的名字,必须要存在数据库,否则会出现Unknown database ***错误
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '',     # HOST 和PORT 参数默认为空
        'PORT': '',
    }
}
这里我有点不怎么清楚,后面的一些参数基本是照流程写上去的,这里我放上官方的解释

HOST

默认值:" "(空字符串),表示连接数据库使用哪台主机。空字符串表示本地(localhost)。使用SQLite时该项无效。

NAME

默认值:" ",使用的数据库名称。对SQLite而言,该设置就是数据库文件的完整路径。要注意的是,指定文件路径时 一定要使用斜杠,即便是在Windows平台也是如此 (比如 C:/homes/user/mysite/sqlite3.db)。

PASSWORD

默认值:" ",连接数据库时使用的密码,使用SQLite时此项无效。也就是使用默认默认的sqlite3数据库无效

PORT

默认值:" ",连接数据库时使用的端口。空字符串表示使用默认端口

USER

默认值:" ",连接数据库时使用的用户名。使用SQLite时无效

----------------------------------------------------------------------------------分割线------------------------------------------------------------------------------

下面开始说标题的问题,我用的是python 3.6和django 1.8的版本

运行 python3 manage.py makemigrations时会有如下的问题。


在很多的博客上看到的原因是因为python2和python3连接的库不同,python2中的版本是用的MySQL库,而python3中改变了连接库,改为了pymysql,但是在Django中,连接数据库使用的是MySQLdb,这就使得在和python3一起用时会出现上图的错误。

(参考:https://blog.csdn.net/LHYzyp/article/details/70550683

参考的这个博客的方法我没有用,而是在别的地方看到了,说要下载 mysqlclient 就可以来操作MySQL,说是想使用python3操作mysql就需要MySQLdb驱动,这里其实我有点懵,记得以前用pytho3和django写作业时好像没有遇到这样的情况,得后面再去看下以前写得作业才知道,,,

这里安装好了 mysqlclient 后,(如果pip安装有问题可以用whl文件安装),我所遇到得问题也就解决了,如下



在我的mysql数据库中可以看到我所创建得数据表和python自动创建的一系列表


待更新。。。。。。








猜你喜欢

转载自blog.csdn.net/rongdang/article/details/80848574