【发布时间】:2013-12-04 18:08:47
【问题描述】:
这是我的 delete_category 函数:
def delete_category(request, id):
user = request.user
category = Category.objects.get(pk=id)
category.user.remove(user)
return HttpResponseRedirect(reverse('auth_profile', args=[user.username]))
这是我的 category_detail 函数:
def category_detail(request, category_name):
user = request.user
category = Category.objects.filter(name=category_name, user__username=user)[0]
return render_to_response("category_detail.html", { "category":category}, context_instance=RequestContext(request))
这是 category_detail.html:
<p>{{category.name}}</p>
<a href="{% url 'delete_category' category.id %}">delete</a>
如果我有多个类别,我可以在单击删除链接时删除。但如果我只有一个类别,我会收到此错误:
list index out of range
【问题讨论】:
-
你把delete_category函数放在哪里了?
-
为了您未来的理智,不要让
GET请求修改您的数据库!那样会产生可怕的、可怕的副作用。见stackoverflow.com/questions/705782/…。也就是说,您如何链接到您的category_detail视图?另外,您可以仔细检查您发布的代码吗?就目前而言,您的视图函数采用参数shelf_name,但引用了一个未声明的变量category_name。假设这不是一个实际错误,如果 user 和 category_name 对不匹配对象,该视图将抛出该异常。 -
非常感谢我会更加小心