当DEBUG = False时,Django给出错误请求(400)
我是django-1.6的新手。当我使用运行django服务器时DEBUG = True
,它运行良好。但是,当我改变DEBUG到False在设置文件,然后在服务器停止,并让在命令提示符下以下错误:
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
更改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)。
以上是 当DEBUG = False时,Django给出错误请求(400) 的全部内容, 来源链接: utcz.com/qa/424269.html