gpt4 book ai didi

django - Django 基于类的 DeleteView 示例

转载 作者:行者123 更新时间:2023-11-28 19:34:02 25 4
gpt4 key购买 nike

有没有人知道或可以请任何人制作一个 Django 基于类的通用 DeleteView 的简单示例?我想继承 DeleteView 并确保当前登录的用户在删除之前拥有该对象的所有权。任何帮助将不胜感激。提前谢谢你。

最佳答案

这是一个简单的例子:

from django.views.generic import DeleteView
from django.http import Http404

class MyDeleteView(DeleteView):
def get_object(self, queryset=None):
""" Hook to ensure object is owned by request.user. """
obj = super(MyDeleteView, self).get_object()
if not obj.owner == self.request.user:
raise Http404
return obj

注意事项:

  • DeleteView 不会在 GET 请求时删除;这是您提供确认模板(您可以在 template_name 类属性中提供名称)和“是的,我确定”按钮的机会,该按钮 POST 到此查看
  • 您可能更喜欢错误消息而不是 404?在这种情况下,改写 delete 方法,在 get_object 调用后检查权限并返回自定义响应。
  • 不要忘记提供一个匹配(可选自定义)success_url 类属性的模板,以便用户可以确认该对象已被删除。

关于django - Django 基于类的 DeleteView 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5531258/

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