django的问题
本帖最后由 Somnr丶风 于 2020-11-24 23:29 编辑html代码
<a href="{% url "delete" contact.id %}" style="color: red; text-decoration-color: red;">删除</a>
views.py代码
def delete(request,id):
models.Sql.objects.filter(id=id).delete()
return HttpResponseRedirect('/home/')
然后。。直接弹出了这样的报错NoReverseMatch at /home/
Reverse for 'delete' with arguments '(19,)' not found. 1 pattern(s) tried: ['delete/]
urls.py代码
path('delete/', views.delete, name='delete'),
好像是第一个request参数没传,home页面都加载不出来就直接报错。我用的版本是3,求解决 你这个id参数,是怎么传入的?怎么捕获的? django1.10是这样的 参考参考:3没用过 不过应该差不多
def delete(request):
if request.method == "POST":
id= request.GET.get("id")
models.Sql.objects.filter(id=id).delete()
return HttpResponseRedirect('/home/')
<a href="/delete?id={%contact.id%}" style="color: red; text-decoration-color: red;">删除</a>
如果能发xhr或者formdata最好 届时是id = request.POST.get("id")
而不是通过地址栏传 /delete/id 或者 /delete?id=id 疾风怪盗 发表于 2020-11-24 23:41
你这个id参数,是怎么传入的?怎么捕获的?
在上面是一个for的遍历,框起来的。然后想通过按钮传当前条目的数据到def里面操作删除功能 Somnr丶风 发表于 2020-11-25 12:19
在上面是一个for的遍历,框起来的。然后想通过按钮传当前条目的数据到def里面操作删除功能
能可以试试三楼的,应该要么get获取id,要么在地址栏url中正则捕获id吧 path('delete/<pid>/', views.delete, name='delete'),即可成功
页:
[1]