django - 删除模板中的对象 - django
问题描述
我的主页有许多子页面,在每个子页面上我都列出了许多项目。在我想要一个删除按钮的项目旁边,当您按下它时,该项目必须被删除,但您必须保持在同一页面上。有没有一种方法可以在我按下删除按钮时发送对象的 ID 以查看但仍保留在同一页面上?
鉴于每个子页面我会有这样的代码:
if request.method == 'GET' and 'delete' in request.GET:
现在我需要一种方法来获取删除按钮旁边的对象的 ID,以便我可以删除它。我在网上看到了一些使用 url 的解决方案,但问题是我必须为 7 个子页面中的每个子页面编写一个特殊的 url。
解决方案
好的,我想我找到了一个简单的解决方案,但我希望您发表评论。所以在模板中,当我单击删除按钮时,我通过 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 语句找出我正在调用删除函数的子页面,然后使用 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')
那么您如何看待这种方法?
推荐阅读
- javascript - 如何将 WaveSurfer js 导出为音频文件?
- python - 类型错误:raw_decode() 缺少 1 个必需的位置参数:'s'
- c - 如何唤醒休眠线程并退出主线程?
- html - 如何在不更改表格 HTML 的情况下使用 CSS 设置动态生成表格的样式?
- excel - 引用在 VBA 上具有变量公式的 excel 单元格
- excel - 在复制的工作表中删除对源工作簿的引用
- swiftui - SwiftUI - 取决于多个条件
- python - 调用类方法但只返回生成器
- asynchronous - Apollo HttpLink 异步
- sql - 使用 VBA 调用 SQL Server 中的存储过程,传递一个参数。我收到一个错误,多步 OLD DB