高级视图_ListView类视图

本文详细介绍了Django中的ListView类视图,用于快速实现列表数据展示。内容包括ListView的属性如page_kwarg和get_queryset,以及分页操作涉及的Paginator和Page类。文章通过实例展示了如何使用ListView进行数据查询、分页处理,并讨论了前端翻页的实现方式。
摘要由CSDN通过智能技术生成

ListView类视图

1、在网站开发中,经常会出现需要列出某个表中的一些数据作为列表展示出来.比如文章列表,图书列表等等。在Django中可以使用ListView类视图来帮我们快速实现这种需求

2、即:如果需要在模板中以列表的形式展示一些数据,那么就可以使用ListView类视图来快速实现

3、ListView类视图跟前面介绍的View类视图和TemplateView类视图一样,都是为了方便我们快速实现某些特定功能的类视图
    ⑴这些类视图jango已经封装好了的,我们只需要继承对应的类以及重写某些属性和方法就可以了

例1:
⑴编辑视图

⑵编辑模板

⑶查看数据库数据

⑷访问第一页

⑸访问第二页

注:
1、上面例子中我们只是很简单的写了一个类视图,并继承于ListView类视图,就很容易的实现了一个列表显示页面
    ⑴在从数据库获取数据时,我们并没有使用SQL语句进行查询,只是提供了一个模型名,但成功的从对应表中查询出了数据
    ⑵在数据显示方面,我们只是定义了一个URL,但是可以通过查询字符串的方式来访问第二页的数据
    ⑶可以看出:有很多东西都是Django封装好了的,我们只需要按照我们的需要来传入对应的属性(方法)值就可以了
    ⑷模板在ListView类视图中是没有封装的,这个是完全需要我们自己来写的:相当于就是Django已经给你封装好了数据分页的视图了,我们要做的就是定义好传递给模板的参数以及模板

2、上面例子只是一个很简单的ListView类视图,主要是先熟悉下这个类视图里面有哪些东西

3、这个例子中:翻页功能我们是通过手动在地址栏中输入URL实现的。实际中应该是有个翻页按钮之类的,通过这个翻页按钮来向后端传递这个查询字符串参数值的

4、这个例子中:数据库中一共有四条数据,每页显示2条,那么总共有2页。我们如果让page=3的话,就会找不到页面。如果我们在网址后面没有传递page参数,默认返回的就是第一页。

 

 

ListView类视图属性、方法

属性、方法名 描述
model   重写model类属性,指定这个列表是给哪个模型的
template_name 指定这个列表的模板
paginate_by 指定这个列表一页中展示多少条数据
context_object_name  指定这个列表模型在模板中的参数名称(传递到模板的参数名:键名)
ordering 指定这个列表的排序方式
page_kwarg   获取第几页的数据的参数名称。默认是page
get_context_data 获取上下文的数据
get_queryset 根据需要来查询数据,默认是全部数据(all方法)

            
page_kwarg属性

1、page_kwarg属性值用来来修改查询字符串参数的参数名

2、这些属性可以理解为Python中的类属性:整个类公用的属性

例2:修改URL中页数参数名
⑴编辑视图

⑵访问第一页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值