Django-如何使用视图执行删除对象

时间:2019-11-28 06:19:11

标签: django

这是我在html中的代码

{% for summary in psummary %}
<tr>
<td colspan="3" class="tdcell">{{summary.Description}}</td>
<td colspan="2" class="tdcell">{{summary.Start_Grading_Period}}</td>
<td colspan="2" class="tdcell">{{summary.End_Grading_Period}}</td>
<td colspan="2" class="tdcell">{{summary.Method}}</td>
<td colspan="3" class="tdcell"><span style="text-align: right;font-weight: 600;" class="close" onclick="deleteRow(this)"><a href="url:delete_view">&times;</a></span></td>
</tr>
{% endfor %}

这是它的样子

enter image description here

这是我的views.py

def function(request,part_id =None):
    object = gradingPeriodsSummary.objects.get(id=part_id)
    object.delete()

    print(object)
    return render(request, 'admin/Homepage/view.html')

urls.py

path('delete/(?P<part_id>[0-9]+)/$', Homepage.views.function, name='delete_view'),

我只希望老师单击关闭按钮,它将删除数据库中的记录

我按照此处的说明进行操作,但不起作用 Django - How to delete a object directly from a button in a table

2 个答案:

答案 0 :(得分:0)

您没有将id传递给URL。尝试将ID添加到您的链接中:

<a href="{% url "delete_view" summary.id %}" >&times;</a>

答案 1 :(得分:0)

错误的网址定义href =“ url:delete_view”必须为href =“ {%url” delete_view“ summary.id%}”,请使用此

<td colspan="3" class="tdcell"><span style="text-align: right;font-weight: 600;" class="close" onclick="deleteRow(this)"><a href="{% url "delete_view" summary.id %}">&times;</a></span></td>

代替

<td colspan="3" class="tdcell"><span style="text-align: right;font-weight: 600;" class="close" onclick="deleteRow(this)"><a href="url:delete_view">&times;</a></span></td>