Django 使用Paginator分页
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
subclass_s = models.subclass_details.objects.all() #查询数据获取一个列表
paginator = Paginator(subclass_s,2) #使用Paginator对列表进行分页,我每页行数设置是2
page = request.GET.get('page') #网页使用列如127.0.0.1:8000?page=1 获取请求的页数
try:
page = int(page) #我设置了用户在前端输入页码跳转,保证用户输入的是数字
except:
page = 1 #输入非数字跳转第一页
if page == None : # 没有输入跳转第一页
page = 1 try:
subclass_s = paginator.page(page) #这里是进行跳转的操作
except PageNotAnInteger:
subclass_s = paginator.page(1) #如果输入是错误的跳转第一页
except EmptyPage: #如果输入的超出页码数跳转最后一页
subclass_s = paginator.page(paginator.num_pages)
return render(request,'xproject/subclass_details.html',locals())
Paginator的一些操作方法
subclass_s = models.subclass.objects.all()
s = Paginator(subclass_s,10) s.count #总对象,即列表里面的对象总数 s.num_pages #总页码数 p.page(num) #获取第num页 p.page(num).object_list #获取第num页里面的数据并以列表的形式显示 p.page(num).has_next() #判断num页当前是否有下一页 p.page(num).hhas_previous() #判断num页当前是否有上一页 p.page(num).has_other_pages() #判断num页是否有其他页 p.page(num).next_page_number() #获取下一页的页码 p.page(num).previous_page_number() #获取上一页的页码 p.page(num).start_index() #num页内从一开始数第一个对象 p.page(num).end_index() #num页内从一开始数最后一个对象
Django 使用Paginator分页的更多相关文章
- Django 之 Paginator 分页功能
Django Paginator Django 分页官方文档 https://docs.djangoproject.com/en/1.10/topics/pagination/ 此分页方法没有限制显 ...
- Django——Paginator分页功能练习
1.路由urls.py from django.contrib import admin from django.urls import path from app01.views import in ...
- Django 在 view 中使用 Paginator分页插件
1.在 view 中使用 Paginator def query(request,sql): # 创建连接 connection = pymysql.connect(**config) try: wi ...
- 7.django之自定义分页记录
只是大概记录下步骤: 1.表结构: class UserProfile(models.Model): ''' 用户表 ''' user = models.OneToOneField(User,verb ...
- django之快速分页
本文介绍djanog两种分页,第一是普通分页,第二是使用haystack全文检索的分页. 1.django自带分页功能,这个功能非常好用.基本知识点:Django提供了数据分页的类,这些类被定义在dj ...
- Django内置分页
一.django内置分页 from django.shortcuts import render from django.core.paginator import Paginator, EmptyP ...
- Django ListView实现分页
效果: url.py main-urls from django.urls import path,include urlpatterns = [ path('admin/', admin.site. ...
- Django之自定义分页
分页功能在每个网站都是必要的,对于分页来说,其实就是根据用户的输入计算出应该显示在页面上的数据在数据库表中的起始位置. 1. 每页显示的数据条数 2. 每页显示页号链接数 3. 上一页和下一页 4. ...
- Django中的分页,cookies与session
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
随机推荐
- html5 canvas 涂鸦画板
html5 canvas 的涂鸦画板,可以加载图片进行涂鸦,也可以下载服务器使用的php上传的图片不能超过1M,只能是jpg或者png 格式的演示地址的服务器网速不怎么样,读取文件可能很慢,到达100 ...
- 在Eclipse Java EE编译器中修改Web项目的发布名称
在工程目录上右键, 选properties, 弹出属性窗口, 选中Web Project Settings, 在右边的Context root中修改保存即可 死马当做活马医 在你的工程目录下找到.se ...
- ora-12519:TNS ,no appropriate service handler found
今天有同事反应,数据库连不了,提示 ora-12519:TNS ,no appropriate service handler found: 一开始以为监听没有启动,排查后,发现正常:于是google ...
- FFT的常数优化
卡得一手好常数..学习了..(似乎只对FFT有效) JZOJ 4349 #include <bits/stdc++.h> #define LL long long #define DB l ...
- POJ2184(01背包变形)
Cow Exhibition Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11092 Accepted: 4404 D ...
- Python_XML的三种解析方法
什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据. XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这 ...
- 【224】◀▶ IDL NetCDF 文件操作说明
参考:I/O - NetCDF Routines —— NetCDF 操作函数 01 NCDF_OPEN 打开一个 NetCDF 文件. 02 NCDF_CLOSE 关闭一个 NetCDF 文 ...
- HDOJ-1412(set)
{A} + {B} Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- opencv MatExpr MatOp
opencv提供了很多Mat的操作,其中涉及到两个重要的类:MatOp和MatExpr C++: MatExpr abs(const Mat& m) C++: void absdiff(Inp ...
- 4 pyspark学习---RDD
开始新的东西,其实很多操作在第二篇的时候就有所介绍啦.在这里继续学习一遍加深一下印象. 1关于RDD (1) RDD-----Resilient Distributed Dataset,弹性分布式数据 ...