【发布时间】:2021-12-04 19:40:43
【问题描述】:
我正在使用 django 3.2.8。 我在我的项目 settings.py 文件中设置了 DEBUG = True 和 ALLOWED_HOSTS = ['*'] 。 当我尝试“python3 manage.py runserver”时,它给出了以下错误。
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False
很奇怪,因为在settings.py中DEBUG设置为True。但它说调试是错误的。我的另一个项目中也有这个设置,它与 Debug=True 一起使用。
【问题讨论】:
-
我做了 python manage.py diffsettings --all。它显示所有设置。输出是 Debug = False 和 ALLOWED_HOSTS=[]。但是当我检查我的项目目录 settigns.py 时,它是 DEBUG = True 和 ALLOWED_HOSTS = ['*']。看来我对 settings.py 的覆盖不起作用。似乎 django 正在从其他地方读取 settings.py。
-
您能否在
manage.py中包含您的项目结构以及DJANGO_SETTINGS_MODULE环境变量设置或默认设置的内容 -
你说得对。 Django 找不到设置。我检查了 manage.py,它是 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'iomobproj.settings') 行存在。另外当我 printenv DJANGO_SETTINGS_MODULE=iomobproj.settings。但它仍在查看全局 django 设置文件。
-
问题是,settings.py 文件中有错误。 Django 无法使用 settings.py 文件,因此它试图使用全局 settings.py 文件。现在问题解决了,因为我更正了 settings.py 文件。
标签: python python-3.x django django-rest-framework