В моем сообщении об ошибке указано, что в базу данных не был введен пароль:
django.db.utils.OperationalError: (1045, «Доступ запрещен для пользователя« mylocalusername »@« localhost »(с использованием пароля: НЕТ)»)
manage.py
должен получить учетные данные для доступа к базе данных у settings.py
, это конкретный пользователь базы данных (и, конечно, пароль этого пользователя). Это ошибка безопасности - реагировать на мое сообщение об ошибке, предоставляя права доступа к базе данных локальному пользователю.
В моем случае были проблемы с settings.py
(мы реструктурировали наш конвейер сборки из конвейера django в webpack), и мне нужно было удалить части, связанные с конвейером, из моего settings.py
для исправления. Это вопрос, почему я не получил сообщение об ошибке Python о проблемах settings.py
, но вместо этого я получил эту ошибку, которая не является локальной для реальной проблемы. Это сообщение об ошибке является просто переходным результатом исходной проблемы. Как только я исправил manage.py
, учетные данные были выбраны в настройках базы данных как обычно, и все прошло гладко.
В нашем случае мы использовали django-pipeline
перед веб-пакетом (более конкретно pip
пакетов django-pipeline-browserify==0.4.1
и
django-pipeline==1.6.8
), поэтому, как только мы перешли, мне пришлось просто удалить эти строки из настроек:
NODE_MODULES_BIN = '/home/myuser/sourcerepositorydir/node_modules/.bin/'
PIPELINE['SASS_BINARY'] = '/var/lib/gems/2.3.0/gems/sass-3.5.3/bin/sass'
PIPELINE['BABEL_BINARY'] = '{}{}'.format(NODE_MODULES_BIN, 'babel')
PIPELINE['BROWSERIFY_BINARY'] = '{}{}'.format(NODE_MODULES_BIN, 'browserify')
PIPELINE_BROWSERIFY_BINARY = PIPELINE['BROWSERIFY_BINARY']
PIPELINE['BROWSERIFY_ENV'] = {'NODE_ENV': 'development'}
PIPELINE['BROWSERIFY_ARGUMENTS'] = PIPELINE['BROWSERIFY_ARGUMENTS'] + ' --debug'
До этого я просто получал бессмысленные сообщения об ошибках.