【问题标题】:Getting CommandError although I set debug is true in django settings尽管我在 django 设置中设置了调试,但获取 CommandError 是真的
【发布时间】: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


【解决方案1】:

当设置文件出现问题时会发生此行为。所以 django 读取全局设置文件并且看不到您的设置文件。在我的设置中 Debug=True,但 Django 显示 Debug=False。因为它没有查看项目设置文件,因为其中有错误。错误是关于在 settings.py 中导入库。我删除了相关的导入行,现在错误消失了。因此,如果“python manage.py diffsettings --all”命令显示了错误的 django 设置,这意味着您的项目设置文件有问题,并且 django 正在尝试从全局 django 设置文件中获取设置,而该设置文件并非专门针对您的项目。

【讨论】:

    猜你喜欢
    • 2012-12-08
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    相关资源
    最近更新 更多