我为我的表单创建了一个删除功能,但只有在我没有显示我的信息时才能删除。
但是,如果我尝试在删除页面上显示信息,删除功能将无效。
我认为因为当我显示信息时,表单无效,因此无法删除该对象。
我的views.py
def servicing_entry_delete(request, serv_entry_id):
delete_object = get_object_or_404(serv_entry, id=serv_entry_id)
if request.method == 'POST':
form = Delete_Flying_form(request.POST, instance=delete_object)
if form.is_valid(): # checks CSRF
delete_object.delete()
return HttpResponseRedirect(reversed('hello:servicing_entry')) # wherever to go after deleting
else:
form = Delete_Flying_form(instance=delete_object)
return render(request, 'hello/servicing_entry_delete.html', {'form':form})
我的forms.py
class Delete_Flying_form(forms.ModelForm):
class Meta:
model = serv_entry
fields = ('Servicing_Type', 'Time', 'Date','Ic_Clear_Name','Ic_Clear_Time','Ic_Clear_Date')
我的deleteconfirmation.html
{% extends 'hello/base.html' %}
{% block content %}
<h1>Delete Servicing Entry</h1>
<p>Are you sure you want to delete this Entry: </p>
{{ form }}
<form action="" method="POST">
{% csrf_token %}
<input type="submit" action="" value="Yes, delete this Entry." />
</form>
{% endblock %}
如果没有{{form}},我可以顺利删除对象,但无法显示任何信息。
无论如何,如果我可以显示这几个字段并仍然成功删除? 我的django版本是1.11 用python 2.7.5
非常感谢!