Django基于类的DeleteView的示例
有谁知道或可以请提供一个简单的Django基于类的通用DeleteView示例吗?我想继承DeleteView的子类,并确保当前登录的用户在删除对象之前拥有该对象的所有权。任何帮助将不胜感激。先感谢你。
回答:
这是一个简单的例子:
from django.views.generic import DeleteViewfrom 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