没有使用Django设置Debug = True的调试跟踪

时间:2011-09-16 09:44:18

标签: django

在开发过程中,我有DEBUG = True,我得到了调试跟踪。然后我切换到DEBUG = False来测试404/500页面。

现在,在我切换回DEBUG = True后,我没有得到任何描记,只有“内部服务器错误”消息。

如何恢复这些调试记录?

由于 马丁·韦伯格

6 个答案:

答案 0 :(得分:1)

您如何检查DEBUG是否设置为True?试试

python manage.py shell

在python提示符下输入

导入设置

settings.DEBUG

结果如何?

如果它是False,则Debug可能会在local_settings.py文件(或其他某个地方)中重置。然后从项目目录中执行grep -r“DEBUG = False”*。

如果settings.DEBUG的结果为True,则表示apache正在加载错误的wsgi,或者wsgi正在加载错误的settings.py文件。

哪个settings.py文件是使用wsgi?

答案 1 :(得分:0)

尝试输入无效路径。如果404.html将apear它意味着DEBUG仍然设置为False,或者像Uku Loskit写道你必须重新加载服务器

修改

  1. 运行django内置服务器并查看结果
  2. 在settings.py结束时打印DEBUG

答案 2 :(得分:0)

The Python Debugger一个机会,它非常简单,只需导入它并在你想要开始调试的行中写下pdb.set_trace()。

答案 3 :(得分:0)

您可以通过执行以下操作来检查DEBUG设置:

python manage.py shell
import settings
print settings.DEBUG

答案 4 :(得分:0)

首先从

检查DEBUG设置
$ python manage.py shell
In [1]: from django.conf import settings

In [2]: settings.DEBUG
Out[2]: True

django.conf.settings抽象出默认设置和特定于网站的设置的概念;它呈现了一个单一的界面。它还将使用设置的代码与设置位置分离。 Docs

答案 5 :(得分:0)

如果您在运行时已验证DEBUG为True,并且这种情况仍在发生,请确保未设置DEBUG_PROPAGATE_EXCEPTIONS。此设置将导致您在浏览器中看不到调试回溯。