Django全栈开发学习笔记(七)——日期筛选视图

视图基础知识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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烧麦Sn0wSt@r

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值