Python 属性错误:';非类型';对象没有属性';从'开始;在启动Django应用程序时
运行命令>python manage.py runserver启动应用程序时 获取以下错误,是否有任何包需要更新Python 属性错误:';非类型';对象没有属性';从'开始;在启动Django应用程序时,python,django,Python,Django,运行命令>python manage.py runserver启动应用程序时 获取以下错误,是否有任何包需要更新 File "D:\venv\lib\site-packages\django\db\backends\mysql\base.py", line 201, in get_connection_params if settings_dict['HOST'].startswith('/'): AttributeError: 'NoneType' object has n
File "D:\venv\lib\site-packages\django\db\backends\mysql\base.py", line 201, in get_connection_params
if settings_dict['HOST'].startswith('/'):
AttributeError: 'NoneType' object has no attribute 'startswith'
您没有在中设置主机的值:
# 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
数据库={
“默认值”:{
'ENGINE':'django.db.backends.mysql',
“名字”:“我的名字”,
“用户”:“我的数据库用户”,
“密码”:“我的密码”,
'主机':'主机的名称',
“端口”:“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'
}
}
#settings.py
数据库={
“默认值”:{
'ENGINE':'django.db.backends.mysql',
“名字”:“我的名字”,
“用户”:“我的数据库用户”,
“密码”:“我的密码”,
'HOST':os.getenv('MYSQL\u HOST'),
“端口”:“3306”
}
}
然后应该定义
MYSQL\u HOST
环境变量。不是这样,os.getenv
将返回None
,因此出现错误。您没有在数据库的settings.py
中指定HOST
变量。它的设置如下:,如果从本地主机运行它,我应该给出什么:os.getenv('MYSQL\u HOST'),'PORT':'3306',那么就没有MYSQL\u HOST
环境变量,因为如果该变量不存在,使用的是None
。设置如下,如果从本地主机运行它,我应该给出什么:os.getenv('MYSQL\u HOST'),'PORT':'3306那么就没有MYSQL\u HOST
环境变量,因为如果该变量不存在,则使用None
。。