我想刪除一個對象。這是HTML,當你點擊按鈕todo
應刪除(我想打電話給delete_todo
): -在Django中刪除一個對象
<ul>
{% for all %}
</ul>
這是views.py,
我想刪除一個對象。這是HTML,當你點擊按鈕todo
應刪除(我想打電話給delete_todo
): -在Django中刪除一個對象
<ul>
{% for all %}
</ul>
這是views.py,
您需要更改一些東西你碼。
url(r'^(?P<todo_id>[0-9]+)/$', views.delete_todo, name='delete_todo'),
然後,你需要改變delete_todo
本身:
def delete_todo(request, todo_id):
instance = get_object_or_404(Todo, pk=todo_id)
instance.delete()
return redirect('index')
在這裏,您可以URLPATTERN delete_todo
你需要添加參數都在改變,這使得在視圖來確定要刪除的內容對象的 第一使用get_object_or_404
函數來獲取帶有id的對象。
最後,你需要通過URL的參數從模板查看:
<form action="{% url 'lists:delete_todo' todo_id=todo.id %}" method=post>
<input id="submit" type="button" value="Click" />
</form>
只是爲了對使用的形式和CSRF的補充說明:這是必要的,以確保您的應用程序的不同的用戶可以不要刪除不屬於他們的內容。
在模板中,你需要包括CSRF標記爲這樣:
<form method="post" action={% url 'delete_todo' todo_id=todo.id %}>
{% csrf_token %}
<input type="button" id="submit" value="Delete" />
</form>
只是改變了它,我點擊按鈕,但什麼也沒有發生。 – pycode
我明白了,這與CSRF驗證有關。非常感謝。 – pycode