Django从前端编辑和删除

时间:2010-03-01 10:27:36

标签: django

Views.py

def delete(request):
    customer = Customer.objects.get(id=5)
    customer.delete()
    return HttpResponse('deleted')

Template.py

<form method="POST" action="/customer/">
 <div style="float: right; 
              margin: 0px; padding: 05px; ">
   <p> Name : <select name ="delete_user">
   {% for customer in customer %}
   <option value = "{{ customer }}"> {{ customer.name }} </option>
  {% endfor %}
</select>
</p>
<p><input type="submit" value="delete"></p>
 </div><br />

urls.py

(r'^delete/$','quote.excel.views.delete'), 

这不起作用,它需要从数据库ftch用户,在下拉框中,当我选择一个特定用户并单击删除时,它应该删除该名称。

这是错误,我正在

在/ delete /

中的DoesNotExist

客户匹配查询不存在。

2 个答案:

答案 0 :(得分:3)

all返回所有客户。使用get只获得1(按ID或名称)

您需要获取用户ID。将该信息放在表单中并在删除视图中处理

这样的东西
data = request.POST.copy()
c_id = int(data.get('id', '0'))
if c_id>0:
    customer = Customer.objects.get(id=c_id)
    customer.delete()

我建议看一下Django教程http://docs.djangoproject.com/en/1.1/intro/tutorial04/。这很好地解释了如何在Django中使用表单

答案 1 :(得分:0)

Django是一个记录完备的项目。请查看it

另请参阅Model APIdeleting objects文档。