Python delete()函数不工作

Python delete()函数不工作,python,django,Python,Django,delete()函数在django中不起作用 def delete_hardware (request): notice = '' inventory = get_object_or_404(inventory, id = request.GET.get('id')) if inventory: inventory.delete() notice = "Hardware was deleted" return render_to_r

delete()函数在django中不起作用

def delete_hardware (request):
    notice = ''
    inventory = get_object_or_404(inventory, id = request.GET.get('id'))
    if inventory:
        inventory.delete()
        notice = "Hardware was deleted"
    return render_to_response('form.html', {'notice': notice},
                              context_instance=RequestContext(request))
……这些是我在form.html中的代码

<td bgcolor='#f1f1f1'><a onclick="javascript:confirmDelete('/delete/?id={{id}}')">
<img src='{{ MEDIA_URL }}/images/delete.png' width=25 height=25 />
            </a></td>

应该是
请求。获取['id']

试试看

def delete_hardware (request):
 notice = " "
 id = request.GET['id']
 try:
   inv = inventory.objects.get(id = id)
   inv.delete()
   notice = "Hardware was deleted"
 except inventory.DoesNotExist:
    raise Http404
 return render_to_response('form.html', {'notice': notice},
                              context_instance=RequestContext(request))

视图.py

def delete_hardware (request, id):
    inventory = get_object_or_404(inventory, pk=id).delete()
    messages.success(request, "Hardware was deleted!")
    return HttpResponseRedirect(reverse('app_name:url_name'))
url(r'^delete/(?P<id>\d+)/$', 'delete_hardware', 
    name='delete_hardware'),
url.py

def delete_hardware (request, id):
    inventory = get_object_or_404(inventory, pk=id).delete()
    messages.success(request, "Hardware was deleted!")
    return HttpResponseRedirect(reverse('app_name:url_name'))
url(r'^delete/(?P<id>\d+)/$', 'delete_hardware', 
    name='delete_hardware'),
url(r'^delete/(?P\d+)/$,“delete_硬件”,
name='delete_hardware'),
我无法提供完整的详细代码,因为您没有在问题中填写完整的代码。我不知道为什么,但这取决于你。这只是一个指南,我希望它能让你头脑清醒。仅当表单已提交方法=get时,才能获取数据

<a href="/delete/{{value.id}}" class="delete-hardware">Delete</a>

<script>
$('.delete-hardware').click(function(){
    var url = $(this).attr('href');
    document.location.href = url;
});
</script>

$('.delete hardware')。单击(函数(){
var url=$(this.attr('href');
document.location.href=url;
});

有一个问题尝试了这个主题,可能对您有所帮助。confirmDelete的脚本如何?好的,我将提供一个示例代码函数confirmDelete(delUrl){if(confirm(“您确定要从库存中删除硬件吗?”){parent.TINY.box.hide();document.location=delUrl;inventory=get_object_或_404(inventory,id=request.get['id'])——>它不起作用:(它是给你一个错误?还是只是不起作用?–不起作用:(@Jonathan If
request.get
是一个dict,不管你是使用
[key]
还是
.get(key)
syntax
request.GET
QueryDict
对象的一个实例,该对象实现了标准的字典方法,包括
.GET()
。从文档中,使用与uu getitem uuu()相同的逻辑上面有一个钩子,用于在密钥不存在时返回默认值。没有,它只是不起作用。它不会删除我的清单中的值。你能为你的模板提供代码吗?因为你的视图没有问题。请更新你的问题,不要放在这里。阅读这些代码的人不容易理解:)