视图类DeleteView的使用方法与视图类UpdateView有相似之处,但两者的父类继承关系有所差异。在源码文件里分析视图类DeleteView的定义过程,以流程图的形式表示类的继承关系

                                         删除视图DeleteView_主键


视图类DeleteView只能删除单条数据,路由变量为模型主键提供查询范围,因为模型主键具有唯一性,所以通过主键查询能精准到某条数据。查询出来的数据通过POST请求实现数据删除,删除过程由类DeletionMixin的delete()方法完成


                                         删除视图DeleteView_主键_02


路由index设置变量pk,对应视图类index的属性pk_url_kwarg,该属性的默认值为pk,默认值的设定可以在类SingleObjectMixin中找到。视图类index会根据路由变量pk的值在数据表index_personinfo里找到相应的数据信息,查找过程由类BaseDetailView完成。模板 上下文不再生成表单对象form,只有personinfo对象,该对象由类SingleObjectMixin的get_context_data()生成


运行MyDjango项目,在浏览器上访问127.0.0.1:8000/1.html,路由地址的1代表数据表index_personinfo的主键id等于1的数据,如图5-17所示。在网页上单击“确定”按钮即可删除该数据,

                                         删除视图DeleteView_默认值_03

                                         删除视图DeleteView_主键_04


在数据表index_personinfo中查看主键id等于1的数据是否存在