当前位置: 首页 > 面试题库 >

当DEBUG = False时,Django给出错误请求(400)

朱毅
2023-03-14
问题内容

我是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)。



 类似资料:
  • 我是django-1.6的新手。当我使用运行django服务器时,它运行得非常好。但是,当我在设置文件中将更改为时,服务器停止运行,并在命令提示下出现以下错误: 我将更改为,在浏览器中我得到错误信息: 是否可以在没有调试模式的情况下运行Django?

  • 我正在尝试使用docker、Nginx和Gunicorn为Django定义一个生产环境,当debug=True时,它可以正常工作,如果我将debug=False,则问题从这里开始会给我错误的请求(400)我的Nginx文件,如下所示: 设置中的my allowed_hosts。py公司 我的gunicorn从入口点执行命令。sh文件: 这是我在docker compose中的nginx容器: my

  • 我正在Docker容器中运行我的Django应用程序,其中nginx作为Web服务器,uWSGI作为应用程序服务器。一切都部署在AWS Elastic Beanstalk上。当我设置DEBUG=False时,所有的请求都会导致错误的请求(400)。我尝试了两个和,但仍然出现相同的错误。我通过检查日志来验证请求是否到达uWSGI。uWSGI日志包含以下内容: 我试过很多答案,但都不走运。我试过这个答

  • 当我的DEBUG=False时显示“错误:-1”,当我的DEBUG=True时显示“错误:-2”。 我将使用python 3.7.7和django 3.0.4。 我的设置。py文件是:- 这是“错误:1”。。。。[调试=False时] 这是“错误:-2”。。。[调试=True时] 但是在'DEBUG=True'的时候,我的管理页面是打开的,但它在终端中给出了下面的错误。 当我试图在浏览器中打开“/

  • 问题内容: 使用开发服务器,它可以与debug = True或False一起使用。 在生产中,如果debug = True,一切正常,但是如果debug = True,则出现500错误,并且apache日志以导入错误结尾:“ ImportError:无法导入名称Project”。 导入中的任何操作都不会对调试产生任何条件-唯一执行的代码是开发服务器是否应提供静态文件(在生产中,apache应该处理

  • 我正在为一个项目使用Hackerrank API。查看官方文档,点击这里! 在他们的网站上有一个使用UNIREST的例子, 由于我使用的是axios,所以我将其转换为类似的axios代码,如下所示: 我希望这只适用于示例中所示的示例,但它给我带来了以下错误: 请求失败,状态代码为400 错误:请求失败,状态代码为400 在createError(createError.js:16) 在sett(s