我是django-1.6的新手。当我用DEBUG = True运行django服务器时,它运行得很好。但是当我在设置文件中将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吗?


当前回答

在你的设置文件中使用DEBUG = False,你还需要设置ALLOWED_HOST列表。 尝试包含ALLOWED_HOST = ['127.0.0.1', 'localhost', 'www.yourdomain.com']

否则你可能会收到来自django的Bad Request(400)错误。

其他回答

试着用——insecure标志运行你的服务器,就像这样:

python manage.py runserver --insecure

我也有同样的问题,我通过设置ALLOWED_HOSTS =['*']来解决这个问题,为了解决静态映像的问题,你必须改变环境配置中的虚拟路径,就像这样:

虚拟路径                  目录 /静态 /                          / opt / python /经常/ app / yourpj /静态/ /媒体 /                        / opt / python /经常/ app /新/媒体/

我希望这对你有所帮助。

抱歉我的英语不好。

在你的设置文件中使用DEBUG = False,你还需要设置ALLOWED_HOST列表。 尝试包含ALLOWED_HOST = ['127.0.0.1', 'localhost', 'www.yourdomain.com']

否则你可能会收到来自django的Bad Request(400)错误。

尝试manage.py collectstatic。 我在更新后丢失了一个静态文件,因此出现了糟糕的请求。

对于我来说,我已经在127.0.0.1上安装了xampp,在127.0.1.1上安装了django 我一直在尝试添加主机

ALLOWED_HOSTS = ['127.0.0.1', 'localhost', 'www.yourdomain.com', '*', '127.0.1.1']

我得到了相同的错误或(400)坏请求

所以我把url改为127.0.1.1:(使用的端口)/项目 瞧!

你必须检查你的虚拟网络地址是什么,对我来说,因为我在Linux上使用bitnami django stack 2.2.3-1,我可以检查django正在使用的端口。 如果你有一个错误(400坏请求),那么我猜django在不同的虚拟网络.. 祝你好运