2011-09-16 39 views
0

在开发过程中,我有DEBUG = True,并且有调试跟踪。然后我切换到DEBUG = False来测试404/500页面。没有使用Django设置的调试跟踪调试= True

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

如何获取这些调试跟踪?

感谢 马丁Weberg

+2

如果您运行的是Apache,您需要重新加载才能看到源代码中的更改。 –

+0

你的服务器配置是什么样的? (apache,nginx等)还是只使用内置的runserver?无论哪种方式,你需要停止你的服务器并重新启动它。我在使用重启命令而不是停止/启动和代码设置时遇到了问题。py没有更新 –

+0

对不起所有人......我在我的项目文件夹中搜索了“debug = False”,并在settings.py文件中第二次发现它。谢谢大家花费的时间... –

回答

0

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

蟒蛇manage.py壳

在Python提示符输入

导入设置

settings.DEBUG

的结果是什么?

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

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

wsgi使用哪个settings.py文件?

+0

我在setting.py中发现了第二个“debug = False”....谢谢你将我推向正确的方向。 –

+1

'import settings'不是导入设置的好方法,而是使用'from django.conf import settings' – Chemary

0

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

编辑:

  1. 运行的Django内置的服务器,并看到结果
  2. 打印DEBUG在settings.py
+0

现在我再次检查。 DEBUG = True我重新启动了Apache。 现在,当我输入一个无效的URL时,我收到了404.html消息。 想法? –

0

您可以通过执行检查调试设置:

python manage.py shell 
import settings 
print settings.DEBUG 
0

第一次检查DEBUG设置从

$ python manage.py shell 
In [1]: from django.conf import settings 

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

django.conf.settings抽象的默认设置和具体的站点设置的概念;它提供了一个单一的界面。它还会将使用设置的代码从您的设置位置分离出来。 Docs