我的主页上有很多子页面,在每个子页面上,我列出了很多项目。我要删除项目旁边的一个删除按钮,当您按下它时,必须删除该项目,但您必须保持在同一页面上。有没有一种方法,当我按下删除按钮时,我会发送要查看的对象ID,但仍保留在同一页面上?
鉴于每个子页面,我都会有如下代码:
if request.method == 'GET' and 'delete' in request.GET:
现在我需要一种获取删除按钮旁边对象的ID的方法,这样我就可以删除它。我在网上看到了一些使用url的解决方案,但问题是我必须为7个子页面的每一个写一个特殊的url。
答案 0 :(得分:0)
好的,我想我找到了一个简单的解决方案,但是我想请您发表评论。因此,在模板中,当我单击删除按钮时,我通过URL发送子页面的名称和对象的ID:
<a href="delete/graficna/{{ graficna.id}}" >
<button> delete</button>
</a>
我使用以下网址:
url(r'^delete/(?P<vrsta>\w+)/(?P<id>\d+)$', views.delete, name='delete'),
在视图中,我仅使用if语句找出我从哪个子页面中调用了delete函数,然后使用id查找对象并将其删除。之后,我返回到我称之为删除的页面。
def delete(request, vrsta, id):
if vrsta == 'graficna':
graficna = Graficna.objects.get(pk=id).delete()
return redirect('graficne')
if vrsta == 'procesor':
procesor = Procesor.objects.get(pk=id).delete()
return redirect('procesor')
return redirect('main')
那么您如何看待这种方法?