我想从数据库中删除任务,因此我使用此代码 这是我的删除视图
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>
当我点击删除没有发生任何事情我不知道为什么,请提前帮助谢谢
答案 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/