我正在学习Django和MySQL作为后端。我安装了Oracle的mysql连接器来连接mysql。但是,当我运行python manage.py
时出现此错误
追踪(最近一次通话): 文件“C:\ Python33 \ lib \ site-packages \ django \ db \ backends \ mysql \ base.py”,第14行,in 将MySQLdb导入为数据库 ImportError:没有名为'MySQLdb'的模块
这有点奇怪。我在想是否安装了mysql connector / python我不再需要MySQLdb了。
有人可以帮忙解释一下吗?谢谢!
我的数据库设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': "djangolearn",
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
}}
答案 0 :(得分:4)
# for mysql connector use this
DATABASES = {
'default': {
'ENGINE': 'mysql.connector.django',
'NAME': 'dbname',
'USER': 'user',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
},
}
答案 1 :(得分:2)
如果您使用的是Oracle的连接器,则需要使用他们的Django数据库后端。
答案 2 :(得分:1)
尝试:pip install mysql-python
如果这不起作用:确保您可以连接到您的数据库(使用phpmyadmin或mysql workbench来测试)
答案 3 :(得分:1)
尝试使用在django中运行的 MySQL Connector :
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangolearn',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
或尝试使用在django中运行的 MySQL Connector pool :
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",
}
},
}
}