MySQL连接器/python在django中不工作
我正在学习以MySQL为后端的Django。我安装了Oracle的mysql连接器来连接mysql。但是,当我运行MySQL连接器/python在django中不工作,python,mysql,django,mysql-python,mysql-connector,Python,Mysql,Django,Mysql Python,Mysql Connector,我正在学习以MySQL为后端的Django。我安装了Oracle的mysql连接器来连接mysql。但是,当我运行python manage.py时,出现了这个错误 回溯(最近一次呼叫最后一次): 文件“C:\Python33\lib\site packages\django\db\backends\mysql\base.py”,第14行,在 将MySQLdb作为数据库导入 ImportError:没有名为“MySQLdb”的模块 这有点奇怪。我在想,如果我安装了mysql连接器/python,
python manage.py
时,出现了这个错误
回溯(最近一次呼叫最后一次):
文件“C:\Python33\lib\site packages\django\db\backends\mysql\base.py”,第14行,在
将MySQLdb作为数据库导入
ImportError:没有名为“MySQLdb”的模块
这有点奇怪。我在想,如果我安装了mysql连接器/python,我就不再需要MySQLdb了
有人能解释一下吗?谢谢
我的数据库设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': "djangolearn",
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
}}
如果您使用的是Oracle的连接器,则需要使用其Django db后端
请参阅。尝试:pip安装mysql-python 如果不起作用:确保可以连接到数据库(使用phpmyadmin或mysql workbench进行测试) } 对于在django中工作的MySQL连接器,请尝试以下操作: 或者为在django中工作的MySQL连接器池尝试以下操作:
谢谢我也看到了。从8.0.13版开始的mysql-connector-python有一个bug,这使得它无法与Django一起使用:为了避免这个bug,在数据库选项中添加选项
'use_pure':True
。
# for mysql connector use this
DATABASES = {
'default': {
'ENGINE': 'mysql.connector.django',
'NAME': 'dbname',
'USER': 'user',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
},
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangolearn',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
DATABASES = {
'default': {
'ENGINE': 'PyMysqlPool.mysql.connector.django',
'NAME': 'djangolearn',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {
'autocommit': True,
'pool': {
#use = 0 no pool else use pool
"use":0,
# size is >=0, 0 is dynamic pool
"size":10,
#pool name
"name":"local",
}
},
}
}