我有两个关于Django追溯的问题。
首先,如果我有如下所示的回溯,我可以看到错误发生在'review_new_profile'视图中,如第二个回溯错误所示 下面。是否有可能告诉Django还在该视图中显示错误发生的行号?
/srv/http/example.com/venvs/725be8a8537aeef8021231ba68de3184bbd547b1/local/lib/python2.7/site-packages/django/core/handlers/base.py in get_response
1. response = wrapped_callback(request, *callback_args, **callback_kwargs)
/srv/http/example.com/repo/profile/views.py in review_new_profile
1. user = User.objects.get(id=request.session['uid'])
/srv/http/example.com/venvs/725be8a8537aeef8021231ba68de3184bbd547b1/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py in __getitem__
1. return self._session[key]
我希望看到的是下面的内容,其中'540'是views.py中的行号:
/srv/http/example.com/repo/profile/views.py in review_new_profile (540)
1. user = User.objects.get(id=request.session['uid'])
第二,我是否认为错误实际发生在最底线?因此对此跟踪的解释是Django尝试生成对请求的响应,但是当它尝试获取给定uid的用户实例时,它无法在会话中找到uid?换句话说,错误实际上发生在回溯的最后一行,Django试图从会话中获取uid(密钥)?
答案 0 :(得分:0)
对于你的第一个问题,Django确实显示了这一行。在您的情况下,那些1
是行号。真正的问题是为什么它们都是1
s。
第二个问题:你是对的。异常发生在最后一行。
基本上,当您执行request.session['uid']
时,它会尝试调用session
对象的__getitem__
方法。在__getitem__
内的某处,有这一行:
return self._session[key]
这就是错误。