【发布时间】:2020-02-06 23:42:10
【问题描述】:
我已经尝试了几乎所有方法,包括搜索 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'
【问题讨论】:
-
尝试让引擎回到
django.db.backends.mysql现在会发生什么?
标签: python mysql django mysql-8.0 django-2.2