Python 如何阅读和理解django错误消息?

Python 如何阅读和理解django错误消息?,python,django,Python,Django,我只是在学习django,嗯,django对我来说最大的问题是,如果出了什么问题,我会在没有任何信息的情况下得到一个巨大的回溯,真正出了什么问题 我实际上是在遵循本教程的步骤。 有没有关于如何阅读和理解django错误消息的解释 例如: DoesNotExist at /admin/ Site matching query does not exist. Request Method: GET Request URL: http://localhost:8080/admin/

我只是在学习django,嗯,django对我来说最大的问题是,如果出了什么问题,我会在没有任何信息的情况下得到一个巨大的回溯,真正出了什么问题

我实际上是在遵循本教程的步骤。 有没有关于如何阅读和理解django错误消息的解释

例如:

DoesNotExist at /admin/

Site matching query does not exist.

Request Method:     GET
Request URL:    http://localhost:8080/admin/
Django Version:     1.4.5
Exception Type:     DoesNotExist
Exception Value:    

Site matching query does not exist.

Exception Location:     /usr/lib/python2.7/dist-packages/django/db/models/query.py in get, line 366
Python Executable:  /usr/bin/python
Python Version:     2.7.3
Python Path:    

['/home/ps/src/python/django',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages/PIL',
 '/usr/lib/pymodules/python2.7/gtk-2.0',
 '/usr/lib/python2.7/dist-packages/gst-0.10',
 '/usr/lib/python2.7/dist-packages/gtk-2.0',
 '/usr/lib/pymodules/python2.7']

Server time:    So, 27 Okt 2013 19:32:52 +0100


Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in wrapper
  213.                 return self.admin_view(view, cacheable)(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
  91.                     response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
  89.         response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in inner
  195.                 return self.login(request)
File "/usr/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
  89.         response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in login
  326.         return login(request, **defaults)
File "/usr/lib/python2.7/dist-packages/django/views/decorators/debug.py" in sensitive_post_parameters_wrapper
  69.             return view(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
  91.                     response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
  89.         response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/contrib/auth/views.py" in login
  53.     current_site = get_current_site(request)
File "/usr/lib/python2.7/dist-packages/django/contrib/sites/models.py" in get_current_site
  92.         current_site = Site.objects.get_current()
File "/usr/lib/python2.7/dist-packages/django/contrib/sites/models.py" in get_current
  25.             current_site = self.get(pk=sid)
File "/usr/lib/python2.7/dist-packages/django/db/models/manager.py" in get
  131.         return self.get_query_set().get(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/db/models/query.py" in get
  366.                     % self.model._meta.object_name)

Exception Type: DoesNotExist at /admin/
Exception Value: Site matching query does not exist.
这东西想告诉我什么? 什么是“/admin/”中的“DoesNotExist”?关于“DoesNotExists”的描述只告诉我们:“一个对象不存在”

管理员界面以前确实可以使用,但我只是在我的模型上的应用程序中玩过,但即使从我的项目中删除已安装的_APPS from settings.py中的应用程序,我也会收到该消息。 我的应用程序本身似乎可以工作,但管理界面不能

现在,在谷歌搜索了我的问题后,我发现我必须对“django.contrib.sites”进行注释,之后一切都很顺利。但我不相信这会是django的方式:每次发生错误时,去谷歌,传递令人困惑的信息,通过try error找到与我的问题相匹配的答案

我想真正理解django/python告诉我们的是什么,以及“真正”的问题是什么,而不仅仅是“django深处的错误17”


您知道如何“读取”此错误消息吗?

您应该将DEBUG设置为True。然后,您会得到一条信息量更大的错误消息,在回溯的每个点上都有代码上下文和局部变量


在您的情况下,站点表(来自django.contrib.sites)中缺少一个条目,该条目本应在您运行
manage.py syncdb

时创建,您在尝试运行服务器之前是否运行了
python manage.py syncdb
?这应该已经创建了表,并且默认的
example.com
site.syncdb无法修复该问题。它只是告诉你从0个装置中安装了0个对象。我认为[这个问题][1]有你想要的答案。[1] :debug已经为true,否则我甚至不会收到上面提到的消息。那么,在这种情况下,您已经看到了很好的回溯,您只是选择不发布它(可能是正确的)。但是,这种很好的回溯准确地告诉您在堆栈跟踪的每个级别上发生了什么。我真不敢相信你还需要更多的信息。在任何情况下,即使是压缩版本也会给你提供比你想象中更多的信息:它明确表示找不到站点对象。我发布了回溯,请向下滚动代码部分。我知道,我看到了,但这不是我所指的“好”回溯,但是“其他”回溯实际上是完全相同的,不同的是,可以解开代码以查看调用的位置(用周围的行)和局部变量的内容。