DEBUG在 Django 应用程序的 settings.py 文件中切换设置之间的功能差异究竟是什么?
我一开始以为DEBUG=True只是打开了 Django 的日志记录功能和中间件来报告错误,但现在我意识到我太天真了。了解 Django 内部系统在两种布尔设置下的工作方式有何不同,有助于在处理难以调试的普通状态 500 错误时形成假设
DEBUG=True 的主要优点之一是详细的错误页面。Django 提供了错误的详细堆栈跟踪。这对于调试非常有帮助。基本上,在 DEBUG 模式下,django 会记住它执行的每个 SQL 查询(这又使得它完全不适合生产)。
此外,如果 DEBUG=True,则禁用主机验证。换句话说,如果DEBUG=False,则需要设置ALLOWED_HOSTS。
DEBUG=True如果有错误,页面将显示错误的详细信息。
如果DEBUG=False的ALLOWED_HOSTS可以settings.py工作,则应小心设置它。
和不会提供 的访问权限,您必须借助网络服务器(例如或 )为它们提供访问media权限。staticDEBUG=FalseNginxApache