【问题标题】:Delete View With Confirmation Prompt - Django使用确认提示删除视图 - Django
【发布时间】:2019-06-28 09:20:49
【问题描述】:
我想使用确认提示删除公司。我不想重定向到新模板。
class CompanyDeleteView(LoginRequiredMixin, generic.DeleteView):
model = Company
template_name = 'company/company_confirm_delete.html'
【问题讨论】:
标签:
django
django-models
django-forms
django-templates
django-views
【解决方案1】:
当您单击删除按钮时,使用 JavaScript 显示弹出窗口。在该弹出窗口中,将有一个指向您的删除视图的链接。
因此,不要在删除按钮中提供链接,而是在此处提供确认弹出窗口并在该弹出窗口中写入链接。
<script>
function myFunction() {
var txt;
if (confirm("Do you want to delete!")) {
//go to your delete path
} else {
//don't do anything
}
}
</script>
在你的按钮中你可以像这样调用这个函数
<button onclick="myFunction()">Delete it</button>
【解决方案2】:
最简单的方法是重载get 方法:
class CompanyDeleteView(LoginRequiredMixin, generic.DeleteView):
model = Company
def get(self, request, *args, **kwargs):
return self.delete(request, *args, **kwargs)