Web 开发是一项无聊而且单调的工作 , 特别是在视图功能编写方面更为显著 。为了减少这种痛苦 , Django植入了视图类这一功能 , 该功能封装了视图开发常用的代码 , 无须编写大量代码即可快速完成数据视图的开发 , 这种以类的形式实现响应与请求处理称为 CBV(Class Base Views) 。
【django中的model Django中的CBV视图】

文章插图
视图类是通过定义和声明类的形式实现的 , 根据用途划分3部分:数据显示视图、数据操作视图和日期筛选视图 。
1、数据显示视图数据显示视图是将后台的数据展示在网页上 , 数据主要来自模型 , 一共定义了4个视图类 , 分别是RedirectView、TemplateView、ListView 和 DetailView , 说明如下:
- RedirectView用于实现 HTTP 重定向 , 默认情况下只定义 GET 请求的处理方法 。
- TemplateView是视图类的基础视图 , 可将数据传递给HTML模板 , 默认情况下只定义 GET 请求的处理方法 。
- ListView是在 TemplateView 的基础上将数据以列表显示 , 通常将某个数据表的数据以列表表示 。
- DetailView是在 TemplateView 的基础上将数据详细显示 , 通常获取数据表的单条数据 。
- FormView 视图类使用内置的表单功能 , 通过表单实现数据验证、响应输出等功能 , 用于显示表单数据 。
- CreateView 实现模型的数据新增功能 , 通过内置的表单功能实现数据新增 。
- UpdateView 实现模型的数据修改功能 , 通过内置的表单功能实现数据修改 。
- DeleteView 实现模型的数据删除功能 , 通过内置的表单功能实现数据删除 。
- ArchivelndexView是将数据表所有的数据以某个日期字段的降序方式进行排序显示的 。
- YearArchiveView 是在数据表筛选某个日期字段某年的所有的数据 , 默认以升序的方式排序显示 , 年份的筛选范围由 路由 变量提供 。
- MonthArchiveView 是在数据表筛选某个日期字段某年某月的所有的数据 , 默认以升序的方式排序显示 , 年份和月份的筛选范围由 路由 变量提供 。
- WeekArchiveView 是在数据表筛选某个日期字段某年某周的所有的数据 , 总周数是将一年的总天数除以7所得的 , 数据默认以升序的方式排序显示 , 年份和周数的筛选范围都是由 路由 变量提供 。
- DayArchiveView 是对数据表的某个日期字段精准筛选到某年某月某天 , 将符合条件的数据以升序的方式排序显示 , 年份、月份和天数都是由路由 变量提供 。
- TodayArchiveView 是在视图类DayArchiveView 的基础上进行封装处理的 , 它将数据表的某个日期字段的筛选条件设为当天 , 符合条件的数据以升序的方式排序显示 。
- DateDetailView 是查询某年某月某日某条数据的详细信息 , 它在视图类 Detailview 的基础上增加了日期筛选功能 , 筛选条件主要有年份、月份、天数和某个模型字段 , 其中某个模型字段必须具有唯一性 , 才能确保查询的数据具有唯一性 。
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
