视图基础知识4
日期筛选视图
日期视图是根据模型里某个日期数据字段进行数据筛选,然后以一定形式展示在网页上。其实是在列表视图ListView或详细视图DetailView的基础上增加日期筛选所实现的视图类。一个七个此视图类
- ArchiveIndexView 是将数据表所有的数据以某个日期字段的降序方式进行排序显示。
- YearArchiveView 是在数据表筛选耨个日期字段某年的所有数据,默认升序排列,年份筛选范围由路由变量提供
- MonthArchiveView 某年某月所有数据,年份和月份的筛选范围都有路由变量提供
- WeekArchiveView 某年某周,总周数是一年的天数除以7所得
- DayArchiveView 某年某月某天
- TodayArchiveView 是在视图类DayArchiveView的基础上进行封装处理的,日期字段筛选条件为当天时间
- DateDetailView 某年某月某日某条收据的详细,详细至某个模型字段,模型字段具有唯一性,才能确保查询的数据具有唯一性。
月份视图MonthArchiveView
- template_name_suffix:由MonthArchiveView定义,设置后缀名,用于设置默认模板文件
- date_list_period:由BaseDateListView定义,经BaseMonthArchiveView重写,设置日期列表最小单位,默认为day
- get_dated_items():由BaseDateListView定义,经BaseMonthArchiveView重写,根据年份和月份在数据表查询符合条件的数据
- year_fomat:由YearMixin定义,设置年份的数据格式,即路由变量的数据格式,默认值为%Y
- year:由YearMixin定义,设置默认查询年份,如果没有设置属性值,就从路由变量year里获取,默认值为None
- get_year_format():由YearMixin定义,获取属性year_format的属性值
- get_year():由YearMixin定义,获取属性year的属性值
- get_next_year():由YearMixin定义,获取下一年的年份
- get_previous_year():由YearMixin定义,获取上一年的年份
- _get_next_year():由YearMixin定义的受保护方法,获取下一年年份
- _get_current_year():由YearMixin定义的受保护方法,获取当前的年份
- month_format——_get_current_month():由MonthMixin定义,与年份相对应
- allow_empty:由BaseDateListView定义,数据类型为布尔型,在模型中查询数据不存在的情况下是否显示页面,若为False并且数据不存在,则引发404,默认值为False
- get():由BaseDateListView定义,定义HTTP请求的GET请求处理
- get_ordering():由BaseDateListView定义,确定排序方式,默认值是以日期字段排序,若设置类MultipleObjectMixin的属性ordering,则以属性ordering进行排序。
- get_dated_queryset():由BaseDateListView定义,根据属性allow_future和allow_empty设置日期条件。
- get_date_list_period():由BaseDateListView定义,获取date_list_period的属性值。
- get_date_list():由BaseDateListView定义,根据日期条件在数据表里查找相符的数据列表。
- date_field:由Dat