Django: View: Generic Display Views

20th August 2020 at 2:19pm
Django: View

Django 针对 CRUD 做了很多 generic view。官方 文档 详细描述了思路和用法。API 文档 讲了具体的执行流程。

核心点在于,Django 预设了一些常用场景:

  • 编辑:
    • 用户要新建元素时,需要一个 HTML 表单来填写内容,提交后后台需要做数据校验、持久化以及重定向到成功页。于是有了 CreateView
    • 用户编辑元素时,与新建非常类似,区别仅在于给用户的 HTML 表单的是 prepopulated 的(已经有值的)。于是有了 UpdateView
    • 用户点击网页上的删除入口时,应该弹出一个确认删除页,这个页面中用户可以做最终的删除操作。于是有了 DeleteView
  • 查看:
    • 用户查看一批元素,即列表页,ListView
    • 用户查看单个元素,即详情页,DetailView

并且 Django 提供了大量的自定义能力。