Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 属性错误:';非类型';对象没有属性';从'开始;在启动Django应用程序时_Python_Django - Fatal编程技术网

Python 属性错误:';非类型';对象没有属性';从'开始;在启动Django应用程序时

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

运行命令>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 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
。。