我们如何在 Django 中删除评论之前生成确认提示?
Posted
技术标签:
【中文标题】我们如何在 Django 中删除评论之前生成确认提示?【英文标题】:How can we generate a conformation prompt before deleting a comment in Django? 【发布时间】:2019-10-12 14:11:48 【问题描述】:我正在尝试链接 java 脚本和 Django 视图,我有一个 cmets 删除视图,它的功能很好,但是在删除它们之前我需要使用 javascript 进行一些确认。
我不了解 Mapping Javascript 和 Django 视图。谁能帮我写代码?
@login_required
def delete_my_comment(request, pk):
comment = get_object_or_404(Comment, pk=pk)
if comment.user == request.user.username:
comment.delete()
messages.success(request, f' Your comment is deleted')
return redirect('post-detail', pk=comment.post.id)
<a class="btn btn-danger btn-sm mt-1 mb-1" href="% url 'post-delete' object.id %">Delete Post</a>
可以帮助我根据上述代码为删除构造编写 javascript 逻辑吗? 谢谢大家
【问题讨论】:
【参考方案1】:通用视图的答案很好,但如果您需要对 UI 进行更多控制,您可以使用 JavaScript 来实现。只需在删除按钮上添加事件侦听器。如果用户单击此按钮 - 通过将其显示属性更改为阻止将显示一些隐藏的 html 表单。如果您使用的是引导程序,那就更简单了。阅读Bootstrap Modals
【讨论】:
感谢您的建议,您能否提供任何示例供您参考如何使用它,并且所有示例看起来都像html,它实际上对我有什么帮助 你可以在这里看到:Show confirmation message before deleting。忽略用 Java 编写的那部分,看看它是如何在 HTML 中管理的 ;)【参考方案2】:为什么不尝试 django 通用视图,使用基于类的视图,例如
类 DeleteComment(LoginRequiredMixin, DeleteView):
model = Comment
template_name = "delete_comment.html"
success_url = "post"
创建一个带有确认语句的delete_comment.html以及一个提交按钮和取消锚点,这应该没问题
【讨论】:
感谢您的建议,我知道您提出的解决方案的方式,但我想用 javascipt 来做,您知道我们如何用 javascript 来做吗?以上是关于我们如何在 Django 中删除评论之前生成确认提示?的主要内容,如果未能解决你的问题,请参考以下文章
保存确认页面在哪里可以挂接到 Django 管理员? (类似于删除确认)