我想實現一種方法來使用窗體和Bootstrap從前端刪除對象。警報框正在關閉,但在頁面刷新時,對象仍然存在,並且數據庫中沒有刪除。django從帖子(引導)刪除對象
實現這個的正確方法是什麼?請幫忙!
forms.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 = []
views.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',))),
請張貼您的'urls.py'或coe您定義要用於渲染的模板。另外顯示用於分配給'alert.id'變量的代碼部分 –
我已經使用urls.py更新了帖子,取自@ MatthewDaly的示例.. – Joar
帖子現在被刪除嗎?我會假設這個錯誤是在一個空的查詢集中,你不會注意到由於通過HttpResponseRedirect進行的即時重定向以及缺少的異常輸出。 PS:不要覺得有必要選擇合適的答案,但這並不能解決您的問題。 –