【发布时间】:2018-02-08 22:28:46
【问题描述】:
我是 python 新手。尝试使用 django 创建一个简单的应用程序。我正面临这一行“ndim = mobjs [0].ndim”的索引超出范围异常。任何帮助将不胜感激
错误
\File "/home/anthra/server_movierecsys/books_recsys_app/views.py", line 66, in home
ndim = mobjs[0].ndim
views.py
def home(request):
context={}
if request.method == 'POST':
post_data = request.POST
data = {}
data = post_data.get('data', None)
if data:
return redirect('%s?%s' % (reverse('books_recsys_app.views.home'),
urllib.urlencode({'q': data})))
elif request.method == 'GET':
get_data = request.GET
data = get_data.get('q',None)
titles = cache.get('titles')
if titles==None:
print ('load data...')
texts = []
mobjs = MovieData.objects.all()
ndim = mobjs[0].ndim
matr = np.empty([1,ndim])
else:
print ('loaded',str(len(titles)))
【问题讨论】:
-
看看查询集
mobjs在db查询之后设置了什么。你会发现它是空的。您确定数据库中有该模型的记录吗? -
这是因为
MovieData.objects.all()返回一个空的QuerySet([])。稍后,当您尝试访问第一个元素时,它会失败。 -
添加至少一个
MovieData,你应该很好
标签: python django python-2.7 django-views