#python #django
#python #django
Вопрос:
при выполнении команды> python manage.py запустите сервер для запуска приложения
получая приведенную ниже ошибку, нужно ли обновлять какой-либо пакет??
File "D:venvlibsite-packagesdjangodbbackendsmysqlbase.py", line 201, in get_connection_params
if settings_dict['HOST'].startswith('/'):
AttributeError: 'NoneType' object has no attribute 'startswith'
Комментарии:
1. Вы не указали
HOST
переменную вsettings.py
базе данных.2. в нем указано, что я должен указать, если я запускаю его со своего локального хоста ‘: os.getenv(‘MYSQL_HOST’), ‘PORT’: ‘3306’
3. тогда нет
MYSQL_HOST
переменной среды, поскольку, если переменная не существует,None
используется.
Ответ №1:
Вы не установили значение для HOST
в:
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'my_db_name',
'USER': 'my_db_user',
'PASSWORD': 'my_password',
'HOST': 'name_of_the_host',
'PORT': '3306'
}
}
Если вы используете переменную среды, необходимо определить переменную среды, поэтому, если вы используете:
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'my_db_name',
'USER': 'my_db_user',
'PASSWORD': 'my_password',
'HOST': os.getenv('MYSQL_HOST'),
'PORT': '3306'
}
}
затем MYSQL_HOST
должна быть определена переменная среды. Это не так, os.getenv
вернется None
, отсюда и ошибка.
Комментарии:
1. в нем указано, что я должен указать, если я запускаю его со своего локального хоста ‘: os.getenv(‘MYSQL_HOST’), ‘PORT’: ‘3306
2. тогда нет
MYSQL_HOST
переменной среды, поскольку, если переменная не существует,None
используется..