这些Django文档的含义是:“如果DEBUG设置为False,则所有响应都将为”Bad Request(400)“

时间:2013-09-06 02:13:25

标签: django django-templates django-views

如果DEBUG设置为False,则所有回复都将为“Bad Request(400)”

如果将Debug设置为false并且您没有视图模板,它们是否意味着这一点? https://docs.djangoproject.com/en/1.5/intro/tutorial03/

这是上下文:您通常不必费心写404视图。如果未设置handler404,则默认使用内置视图django.views.defaults.page_not_found()。 (可选)您可以在模板目录的根目录中创建404.html模板。当DEBUG设置为False时(在您的设置模块中),默认的404视图将使用该模板来处理所有404错误。如果您确实创建了模板,请至少添加一些虚拟内容,例如“找不到页面”。

警告 如果DEBUG设置为False,则所有响应都将为“Bad Request(400)”,除非您指定正确的ALLOWED_HOSTS(类似于['localhost','127.0.0.1']进行本地开发)。 有关404视图的更多注意事项:

如果将DEBUG设置为True(在您的设置模块中),那么将永远不会使用您的404视图(因此永远不会呈现404.html模板),因为将显示回溯。 如果在检查URLconf中的每个正则表达式后Django没有找到匹配项,也会调用404视图。

2 个答案:

答案 0 :(得分:2)

这意味着如果debug设置为true,您将只看到用于调试的回溯。

如果将debug设置为false以呈现404视图,则需要在 yoursite.settings 中配置ALLOWED_HOSTS设置,正如他们所说的那样['localhost','127.0.0.1']地方发展的情况。当然,为了渲染404,你必须在yourapp.views中指定它......

答案 1 :(得分:1)

https://docs.djangoproject.com/en/1.6/ref/settings/#allowed-hosts

示例:

ALLOWED_HOSTS = [
    '.example.com', # Allow domain and subdomains
    '.example.com.', # Also allow FQDN and subdomains
]

或:

ALLOWED_HOSTS = '*'