IndexError:列表索引超出范围,Django [英] IndexError: list index out of range, Django
本文介绍了IndexError:列表索引超出范围,Django的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
def homepage(request):
if request.user.is_authenticated():
# get authenticated rfuser
rfuser = RFUser.objects.filter(user=request.user)[0]
print rfuser
# show info of current user
project_list = rfuser.project_set.all().order_by('project_name')
# project_list = RFUser.objects.filter(user=request.user).order_by('project_name')
context_dict = {'projects': project_list}
return render(request, 'homepage.html', context_dict)
else:
return render(request, 'homepage.html')
出现以下错误:
Internal Server Error: /
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\core\handlers\exception.py", line 39, in inner
response = get_response(request)
File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 249, in _legacy_get_response
response = self._get_response(request)
File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "E:\rfui_web\myaccoutsite\views.py", line 13, in homepage
rfuser = RFUser.objects.filter(user=request.user)[0]
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 295, in __getitem__
return list(qs)[0]
IndexError: list index out of range
列表索引超出范围但无法找到原因,不知道索引是否不是由于数组的相关值
推荐答案
这是因为您的查询返回的是空查询集.并因此返回IndexError:列表索引超出范围如果您想知道查询是否还了东西,请先使用以下命令进行检查:
This is because your query is returning an empty queryset. And thus returning IndexError: list index out of range .If you want o know whether the query gives back something or not first check using:
if RFUser.objects.filter(user=request.user).exists():
// then do things which you need
这篇关于IndexError:列表索引超出范围,Django的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文