Я перепробовал почти все, включая чистку 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.
У меня загружен и установлен Python-коннектор MySQL на мою систему.
Я попытался дать пустую переменную ALLOWED_HOSTS в settings.py аргумент моего локального хоста.
Сервер MySQL работает нормально за пределами Django и может быть успешно доступен на терминале.
Я заменил 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'