フォームとブートストラップを使用してフロントエンドからオブジェクトを削除する方法を実装しようとしています。アラート ボックスは閉じていますが、ページを更新すると、オブジェクトはまだ存在し、データベースで削除されません。
これを実装する適切な方法は何ですか?助けてください!
フォーム.py
class DeleteAlertForm(forms.ModelForm):
def is_valid(self):
form = super(DeleteAlertForm, self).is_valid()
for f, error in self.errors.iteritems():
if f != '__all__':
self.fields[f].widget.attrs.update({'class': 'error', 'value': strip_tags(error)})
return form
class Meta:
model = Alert
fields = []
ビュー.py
@login_required
def delete(request, alert_id):
if request.method == "POST":
form = DeleteAlertForm(request.POST)
if form.is_valid(): # checks CSRF
a_id = request.POST.get('alert_id', False)
alert = New.objects.get(pk=a_id)
alert.delete()
return HttpResponseRedirect("/")
else:
return redirect('/')
return redirect('/')
template.html
<div class="alert alert-info alert-block">
<form action="/delete/" method="post">
{% csrf_token %}
<input type="hidden" value="{{alert.id}}" name="alert_id">
<button type="submit" class="close" data-dismiss="alert">×</button>
</form>
</div>
urls.py
url(r'^$/(?P<pk>\d+)/delete$', login_required(DeleteView.as_view(
model=Alert,
success_url='/',
template_name='portal/alert_confirm_delete.html',))),