Django基于类的DeleteView的示例

有谁知道或可以请提供一个简单的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的“是,我确定”按钮的确认模板(你可以在class属性中提供名称)POST的机会。
  • 你可能更喜欢错误消息而不是404?在这种情况下,请改写delete方法,在get_object调用后检查权限并返回自定义响应。
  • 不要忘记提供与(可选的,可自定义的)success_url类属性匹配的模板,以便用户可以确认该对象已被删除。

以上是 Django基于类的DeleteView的示例 的全部内容, 来源链接: utcz.com/qa/430488.html

回到顶部