删除django中的对象

时间:2018-03-28 16:05:41

标签: python html django

我想从数据库中删除任务,因此我使用此代码 这是我的删除视图

def task_Delete(request,id=None):
        if request.method == 'POST':
            form = TaskForm()
            id = int(request.POST.get('task.id'))
            task = Task.objects.get(id=id)
            task.delete()
            messages.success(request,"successfully delete")
            return render_to_response('home.html', {'form': form})

那是我的urls.py

url(r'^task_Delete/$', views.task_Delete, name='task_Delete')

这个按钮的代码删除:

<form action="{% url 'task_Delete' %}" method="post" >
               {% csrf_token %}
            <input type="hidden" name="task_id" value="{{task.id}}" />
               <input type="submit" value="delete task">
        </form></td>
  </tr>

当我点击删除没有发生任何事情我不知道为什么,请提前帮助谢谢

1 个答案:

答案 0 :(得分:1)

您的代码中存在各种问题(例如,根本不需要TaskForm)但是如果您更改了行

id = int(request.POST.get('task.id'))

id = int(request.POST.get('task_id'))

该对象可能会被删除;请记住,请求参数的名称将与输入的name相同(task_id)。我建议您使用适当的CBV(DeleteView)来做你想做的事情 - 如果你想要一个缓慢而全面的教程我推荐这篇文章:https://spapas.github.io/2018/03/19/comprehensive-django-cbv-guide/