我正在学习Django,并试图理解它
DeleteView
来自第一校长。
在
source code
对于
DeletionMixin
两者都有一个共同点
delete
方法和步骤
post
方法:
class DeletionMixin:
"""Provide the ability to delete objects."""
success_url = None
def delete(self, request, *args, **kwargs):
"""
Call the delete() method on the fetched object and then redirect to the
success URL.
"""
self.object = self.get_object()
success_url = self.get_success_url()
self.object.delete()
return HttpResponseRedirect(success_url)
# Add support for browsers which only accept GET and POST for now.
def post(self, request, *args, **kwargs):
return self.delete(request, *args, **kwargs)
这两种方法的区别是什么?它们在什么时候被调用?
是吗
delete()
方法仅在
request.GET
?
如果
删除()
方法也定义在
models.Model
类执行不同的操作,重写
删除mixin
在视野里还是别的什么?
例如:
class MyModel(models.Model):
def delete(self):
...
return
你能帮我理解一下在什么时候发生的事情的逻辑“工作流程”吗
删除视图
被称为。
相关类结构如下:
class BaseDeleteView(DeletionMixin, BaseDetailView):
pass
class DeleteView(SingleObjectTemplateResponseMixin, BaseDeleteView):
template_name_suffix = '_confirm_delete'