Настройки Django не забирают пользователя - PullRequest
0 голосов
/ 12 ноября 2019

Я работаю над своим первым проектом Django и пытаюсь подключить его к моей базе данных MySQL. Мой проект пытается забрать значения базы данных из настроек. Вот моя проблема.

settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django',
        'USER': 'admin',
    }
}

Я удалил пароль, хост и порт на данный момент, так как я пытаюсь изолировать проблему с пользователем.

Я запускаю python manage.py diffsettings, и результат включает в себя, явно содержащий пользователя:

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', 'NAME': 'django', 'USER': 'admin', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'PASSWORD': '', 'HOST': '', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}

Однако, когда я запускаю python manage.py migrate, я получаю следующую ошибку:

django.db.utils.OperationalError: (1044, "Access denied for user ''@'localhost' to database 'django'")

Здесь видно, что пользователь отсутствует. Он показывает ''@'localhost' вместо 'admin'@'localhost' Странная часть в том, что имя базы данных выбирается, а пользователь - нет.

Есть идеи, что я делаю неправильно?

1 Ответ

0 голосов
/ 13 ноября 2019

Я на пути к решению этого. Первоначально я пытался настроить параметры с помощью параметров read_default_file cnf, и я только переместил пользователя в settings.py в попытке отладить это.

Если я помещаю всю свою конфигурацию в настройках, тогда подключается djangoчтобы MySQL правильно. Теперь мне нужно выяснить, как заставить работать файл cnf.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...