我已经尝试了几乎所有方法,包括搜寻StackOverflow来解决此问题,但我似乎仍然面临该问题。我试图将我的Django 2.2.6项目连接到我的MySQL版本8数据库,但运气不为零。
我已将settings.py文件更改为在数据库字典中包含以下键值对:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'portfoliodb',
'USER': 'c**********s',
'PASSWORD': 'XXX',
'HOST': 'localhost',
'PORT': '3306',
}
}
键入
python manage.py runserver
返回以下错误:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
我确实有mysqlclient,输入
pip install mysqlclient
返回以下内容:
requirement already met (1.4.4)
我也尝试过
pip install pymysql
然后编辑init.py文件,使其具有以下代码:
import pymysql
pymysql.install_as_MySQLdb()
同时保持数据库变量与上述相同。这样做会产生以下错误:
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
我已将MySQL python连接器下载并安装到我的系统上。
我尝试给settings.py中的空ALLOWED_HOSTS变量提供本地主机的参数。
MySQL服务器在Django外部运行良好,可以在终端上非常成功地进行访问。
我将Databases变量中的Engine替换为:
mysql.connector.django
产生了以下错误代码:
django.core.exceptions.ImproperlyConfigured: 'mysql.connector.django' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
'mysql', 'oracle', 'postgresql', 'sqlite3'
答案 0 :(得分:3)
我设法在这里回答了自己的问题,并考虑删除该帖子,但这可能会帮助其他人。我执行了命令
pip install mysql-connector-python
在将DATABASES词典中的引擎值更改为:
之前'ENGINE': 'mysql.connector.django',
MySQL数据库终于连接到我的Django项目