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']