gpt4 book ai didi

javascript - 禁用 Javascript 时创建确认对话框页面

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:17:10 25 4
gpt4 key购买 nike

我正在使用 Django,我希望我的用户确认他们确实想要删除某些内容。我正在考虑纯 Django 解决方案(没有 Javascript 确认)。根据我的想法,我可以创建一个包含"is"和“否”按钮的新页面。如果用户按"is",我的站点将继续并从数据库中删除该对象。不使用 Javascript 进行删除是正确的方法吗?如果你是我,你会如何实现这个功能?

最佳答案

我会使用 Django 的内置 DeleteView ,它将显示 HTTP GET 请求的确认页面,并为 HTTP POST 请求执行删除。

文档给出了这个例子:

from django.views.generic.edit import DeleteView
from django.core.urlresolvers import reverse_lazy
from myapp.models import Author

class AuthorDelete(DeleteView):
model = Author
success_url = reverse_lazy('author-list')

我建议阅读 SingleObjectMixin 的文档这解释了如何自定义 View 查找要删除的对象的方式(默认是查找名为 pk 的 URL 关键字参数),以及 TemplateResponseMixin其中解释了如何自定义所使用的模板(默认为 'myapp/author_check_delete.html')。

这只是众多class-based generic views 中的一个|这使得基本操作(显示单个模型实例的页面、模型实例列表以及处理编辑、删除等)非常快速且易于实现。

如果你以后想用 JavaScript 增强它,你总是可以编写一些不引人注目的 JS 来检测到删除确认页面的链接(通过查找类或特定 URL)并添加一个点击处理程序来弹出确认对话框然后向链接的 href 属性中的 URL 发送一个 POST 请求。您还需要稍微修改 View 以在 request.is_ajax()True 时返回一个 JSON 对象,以便您的 JS 知道删除是成功还是失败,这可能涉及覆盖从 DeletionMixin 继承的方法之一。 .

关于javascript - 禁用 Javascript 时创建确认对话框页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12312658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com