Django .delete()不起作用

我在Django中制作了一个简单的bbs。

目前,我正在尝试删除前端的帖子。

这是我在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,但是当我返回以查看admin中的帖子列表时,该帖子仍然存在。

列维

好的,在向您说明不需要表格删除实例之后。让我不使用表格就给您一个Versión。

@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根据需要在模板中使用var。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章