Django ViewList

本文介绍了Django的通用视图ListView,详细讲解了其基本用法,包括如何设置model、template_name和paginate_by属性。此外,还展示了如何在ListView中添加条件查询,通过kwargs接收URL参数以实现动态查询条件,帮助开发者更高效地创建带分页的列表页面。
摘要由CSDN通过智能技术生成

通用视图ListView

Django 提供了一组基于类的通用视图,包含了开发中大部分的通用功能,ListView就是解决列表的问题,简洁,快速

基本用法ListView

使用ListView 首先需要在文件的顶部加载ListView

from django.views.generic import ListView

在app的views.py文件中写一个属于自己的ListView

from django.views.generic import ListView
from app.models import RegRecord
class RegRecordListView(ListView):
	model = RegRecord
	template_name = "app/index.html"
	paginate_by=20

简单介绍一下ListView的属性
model ListView 会根据model所指向的类型来创建列表,model=RegRecord,ListView会调用RegRecord.objects.all()
template_name 如果这个参数不设置,那么ViewList会默认使用regrecord_list.html,否则会根据template_name的值使用哪个页面展示列表。
paginate_by 如果这个参数不设置,ViewList返回的列表是没有翻页的,如果这个参数被设置了,例如上面的例子,每页显示20条数据
ViewList还会在上下文环境中提供几个用于翻页使用的参数paginator 提供页数num_pages,总数据数count和一个页数的迭代器page_range,以上都是paginator的方法,可以在页面中通过{ {paginator.num_pages}},{ {paginator.count}},{ {paginator.page_range}}使用
在app的urls.py里配置刚才编写的基于类的view。

from django.urls import path
from views import RegRecordListView
urlpatterns = [
	path('',RegRecordListView.as_view(),name='index'),
]
<table>
	<thead>
		<th>111</th>
		<th>111</th>
		<th>111</th>
		<th>111
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值