我是django-1.6的新手。当我使用运行django服务器时DEBUG = True,它运行良好。但是,当我改变DEBUG到False在设置文件,然后在服务器停止,并让在命令提示符下以下错误:
DEBUG = True
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
更改ALLOWED_HOSTS为之后["http://127.0.0.1:8000",],在浏览器中出现错误:
ALLOWED_HOSTS
["http://127.0.0.1:8000",]
Bad Request (400)
是否可以在没有调试模式的情况下运行Django?
该ALLOWED_HOSTS列表应包含标准主机名,而不是 URL。省略端口和协议。如果你使用127.0.0.1,我也将添加localhost到列表中:
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
你还可以*用来匹配任何主机:
ALLOWED_HOSTS = ['*']
引用文档:
此列表中的值可以是完全限定的名称(例如'www.example.com'),在这种情况下,它们将与请求的Host标头完全匹配(不区分大小写,不包括port)。用了一段开头的值可以用作一个子域通配符:'.example.com'将匹配example.com,www.example.com以及任何其他子域example.com。值'*'将匹配任何内容;在这种情况下,你有责任提供自己的Host标头验证(可能在中间件中;如果是,则必须在中列出该中间件MIDDLEWARE_CLASSES)。
'www.example.com'
'.example.com'
example.com,www.example.com
example.com
'*'