【发布时间】:2017-02-11 18:30:29
【问题描述】:
我正在努力确保我的网站受到适当保护,不会在生产中显示错误的详细信息。
我已经为此苦苦挣扎了一段时间,一开始我明白,为了避免 Django 显示错误(模块、代码行等),只需将 DEBUG 从 @ 更改为987654323@ 到False 在settings.py。
但是,我意识到 Django 仍然显示错误详细信息,因此进行了更多调查,我发现还需要以下内容:
-
TEMPLATE_DEBUG = DEBUG在settings.py -
404.html和500.html在模板文件夹中
是否需要其他任何措施来确保用户不会收到这些消息?
Django 如何处理其他类型的错误,比如400?我看到here 有400 和403 的处理程序,但我不明白,我不知道基本用例是否需要它们。
【问题讨论】:
-
你能举一个例子来说明你想要避免的 Django 产生的输出吗?根据文档,将
DEBUG设置为False并且没有自定义处理程序,它只是“提供文本403 Forbidden”(例如)。据我所知,它没有提供 HTTP 状态代码中不存在的任何信息。
标签: python django error-handling