Django .delete()不工作
我正在用Django做一个简单的论坛。
现在,我想让前端能够删除帖子。
这是我在views.py里的代码:
@login_required
def delete_post(request, id):
post_to_delete = get_object_or_404(Post, pk=id)
if post_to_delete.owner_user != request.user:
return HttpResponseForbidden()
if request.method == 'POST':
form = DeletePostForm(request.POST, instance=post_to_delete)
if form.is_valid():
post_to_delete.delete()
return HttpResponseRedirect('/')
else:
form = DeletePostForm(instance=post_to_delete)
return render(request,'delete_post.html', {'form':form})
我觉得我用得当了.delete()这个函数,当我点击删除按钮时,会跳转到delete_post.html页面,但当我回去查看管理员的帖子列表时,那个帖子还是在那儿……
1 个回答
0
好的,之前我已经告诉过你,其实删除一个实例并不需要用到表单。现在我给你一个不使用表单的版本。
@login_required
def delete_post(request, id):
post_to_delete = get_object_or_404(Post, pk=id)
if post_to_delete.owner_user != request.user:
return HttpResponseForbidden()
if request.method == 'POST':
post_to_delete.delete()
return render(request,'delete_post.html', {'deleted':True})
return render(request,'delete_post.html', {'deleted':False})
你可以在你的模板中随意使用 deleted
这个变量。