CommandError:如果DEBUG为False,则必须设置settings.ALLOWED_HOSTS

我在我的程序txsite中使用Django 1.6.5的设置:

DEBUG = True 

我将DEBUG设置为False,但是当我运行服务器时,出现以下错误:

 CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False 

我尝试设置ALLOWED_HOSTS = ['127.0.0.1', 'localhost']但我得到相同的错误。

任何人知道如何弄清楚?

尝试

 ALLOWED_HOSTS = ['*'] 

如果你没有防火墙或公共局域网上的安全性较低,但这是我使用的,它的工作原理。

编辑:有趣的是,我一直需要添加到我的1.8个项目中的一些,即使当DEBUG = True 。 很不确定的原因。

您的解决scheme可能是添加原始的IP和/或主机名称

 ALLOWED_HOSTS = ['localhost', '127.0.0.1', '111.222.333.444', 'mywebsite.com'] 

基本上,主机报头(如果启用了USE_X_FORWARDED_HOST,则为X-Forwarded-Host)应该与ALLOWED_HOSTS中的一个值相匹配。

确保它没有在settings.py中重新定义。 默认设置有:

ALLOWED_HOSTS = []

从文档: https : //docs.djangoproject.com/en/1.10/ref/settings/

如果DEBUG是假的,你也需要正确设置ALLOWED_HOSTS设置。 否则将导致所有的请求被返回为“错误请求(400)”。

并从这里: https : //docs.djangoproject.com/en/1.10/ref/settings/#std : setting-ALLOWED_HOSTS

我正在使用这样的东西:

 ALLOWED_HOSTS = ['localhost', '127.0.0.1', 'www.mysite.com']