12月15日学习内容整理:Django的分页器
补充:整体插入多条记录
表名.objects.bulk_create([一个个model对象])
这样就会在表中一次性的创建多条记录
一、Django的分页器
1、引入:
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
2、paginator对象
paginator = Paginator(queryset类型, 10) 不一定非要是queryset类型,可迭代的就行,10代表每页显示多少条数据
这样就得到了一个paginator对象
3、paginator对象的三个属性
paginator.count #数据总数,也就是总共有多少条记录
paginator.num_pages #总页数
paginator.page_range #指的是所有的页码,range()表示
4、具体的某一页对象
page1=paginator.page(1) 1就代表第一页,page1就代表第一页对象
》》》可以对page1for循环,循环出的就是每一个model对象,也就是记录
》》》page1.project_list() 就可以拿到所有具体的数据
5、某一页对象的四种方法
page1.has_next() #是否有下一页
page1.next_page_number() #下一页的页码
page1.has_previous() #是否有上一页
page1.previous_page_number() #上一页的页码
6、两种异常
EmptyPage 不存在的页码对象,可能已经超出最后一页了
PageNotAnInteger 页码输入不是数字
page=paginator.page(12) # error:EmptyPage page=paginator.page("z") # error:PageNotAnInteger