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协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
随机推荐
- Kattis - whatdoesthefoxsay —— 字符串
题目: Kattis - whatdoesthefoxsay Determined to discover the ancient mystery—the sound that the fox ...
- maven项目所遇到的问题解决
1.在Eclipse中创建Maven的Web项目时出现错误:An internal error occurred during: "Retrieving archetypes:". ...
- 动态inventory脚本的python实现
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 基于python的动态inventory脚本实例 ''' import os import sys ...
- Ansible 动态获取主机列表
参考文献: http://www.linuxidc.com/Linux/2016-12/138111.htm 附加 这个 include_vars 变量,可以 动态分别环境或者其他条件- hosts: ...
- ansible快速学习
推荐文献: 表述的很不错, http://www.mamicode.com/info-detail-1428476.html 附加参考: http://laowafang.blog.51cto.com ...
- HDFS副本设置——默认3
首先 dfs.replication这个参数是个client参数,即node level参数.需要在每台datanode上设置. 其实默认为3个副本已经够用了,设置太多也没什么用. 一个文件,上传到h ...
- Windows服务的快速搭建与调试(C#图解)
Windows服务的快速搭建与调试(C#图解) 目录 一.什么是Windows 服务? 二.创建Windows 服务与安装/卸载批处理. 三.调试Windows 服务. 正文 一.什么是Windo ...
- 初始化cache_dir(squid)
sed -i '/adjustFactor/d' /CNCLog/exactTraffic/conf/localTraffic.cfgecho "adjustFactor = '-0.67 ...
- bzoj 2600 ricehub
2600: [Ioi2011]ricehub Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 783 Solved: 417[Submit][Stat ...
- eclipse Tomcat 启动报错
如果之前启动都是正常的,更新完后端代码后启动Tomcat报错,又没有错误的日志提示. 尝试先把Tomcat里面的项目删掉,然后点击Tomcat右键,Clean清除缓存,再把项目Add: 重新启动!