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协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
随机推荐
- Java中锁的内存语义
我们都知道,Java中的锁可以让临界区互斥执行.锁是Java并发编程中最重要的同步机制,锁除了可以让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息.下面是锁的释放-获取的代码: C ...
- 百度地图API简单应用——1.根据地址查询经纬度
这几天比较空闲,就接触了下百度地图的API(开发者中心链接地址:http://developer.baidu.com),发现调用还是挺方便的.只要简单几步注册下,就可以获得一个Key,就能直接调用(P ...
- 【转】看C++文档的小知识
转载:http://www.ggv.com.cn/forum/clib/ctype/isspace.html 函数isspace 原型:extern int isspace(int c); 用法 ...
- H3C-L2TP
l2tp enable #启用l2tp domain system authentication ppp local # 本地认证 access-limit disable state active ...
- linux 查看某进程 并杀死进程 ps grep kill
Linux 中使用top 或 ps 查看进程使用kill杀死进程 1.使用top查看进程: $top 进行执行如上命令即可查看top!但是难点在如何以进程的cpu占用量进行排序呢? cpu占用量排序执 ...
- FFmpeg+FFserver流媒体服务器介绍
ffmpeg和ffserver配合使用可以实现实时的流媒体服务. 一.理解 里边主要有如下四个东西,搞清楚他们之间的关系就差不多明白了. 1. ffmpeg 2. ffserver 3. ...
- bzoj3832
拓扑排序+set 如果我们直接记录所有路径是不行的,那么我们要降低路径的数量,于是我们把最短路径转换到边上,这样我们就只有m条路径了. 先计算出f[i]和g[i]表示正反拓扑最长链,把所有g插到set ...
- AngularJS系统学习之$watch(监控)
在scope的内置的所有函数中,用的最多的可能就是$watch函数了, 当你的数据模型中某一部分发生变化时,$watch函数可以向你发出通知. 你可以监控单个对象的属性,亦可以监控需要经过计算的结果( ...
- 量子隐形传态1 Quantum Teleportation
量子隐形传态是量子纠缠的又一个应用. 隐形传态,所谓隐形的意思就是没有物质介质就传递了信息,在经典世界,传递信息要有介质,光.电磁波或者其他的什么,但是在量子的世界里,我可以把信息传递给你,并且不传递 ...
- python-format函数
#通过位置 print '{0},{1}'.format('chuhao',20) print '{},{}'.format('chuhao',20) print '{1},{0},{1}'.form ...