簡體   English   中英

Django .delete()不起作用

[英]Django .delete() does not work

我在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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM