博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django Paginator分页插件
阅读量:4353 次
发布时间:2019-06-07

本文共 2636 字,大约阅读时间需要 8 分钟。

 

1 from django.shortcuts import render 2 import importlib 3 from king_admin.utils import table_filter 4 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger 5 # Create your views here. 6 from king_admin import king_admin 7 from crm import models 8 def index(request): 9 10     return render(request, "king_admin/table_index.html",{
'table_list':king_admin.enabled_admins})11 12 def display_table_objs(request,app_name,table_name):13 # for i in range(50):14 # models.Customer.objects.create(qq="999888811100%s"%i,source=1,consult_course_id=1,content="了解一下",status="signed",consultant_id=1)15 print(">>>",app_name,table_name)16 # model_model = importlib.import_module('%s.models'%(app_name))17 # model_obj=getattr(model_model,table_name)18 admin_class=king_admin.enabled_admins[app_name][table_name]19 20 object_list,filter_condtions=table_filter(request,admin_class)#取到过滤后的字段和用字段查询出来的对象列表21 22 paginator=Paginator(object_list,admin_class.list_per_page)#第一个就是用于展示的数据(object_list),第二参数就是每页显示的大小(per_page)23 # print('所有页面对象总数', paginator.count)24 # print('页面总数',paginator.num_pages)25 # print('页面范围',type(paginator.page_range),paginator.page_range)26 # print('根据参数number返回一个Page对象', paginator.page(1))27 # print('根据参数number返回一个Page对象', paginator.page(1).object_list)28 # print('根据参数number返回一个Page对象', paginator.page(2).object_list)29 # print('下一页判断', paginator.page(2).has_next())30 # print('上一页判断', paginator.page(2).has_previous())31 # print('其他页判断', paginator.page(2).has_other_pages())32 # print('判断', paginator.page(2).previous_page_number())33 # # print('判断', paginator.page(2).next_page_number())34 # print('判断', paginator.page(2).start_index())35 # print('判断', paginator.page(2).end_index())36 37 38 39 page=request.GET.get('page')#获取第几页40 try:41 query_sets=paginator.page(page)42 except PageNotAnInteger:43 query_sets=paginator.page(1)44 except EmptyPage:45 query_sets=paginator.page(paginator.num_pages)#Paginator.num_pages:总共分页数46 47 # print('根据参数number返回一个Page对象', query_sets.object_list)48 # print('上一页判断', query_sets.has_previous())49 # print('下一页判断', query_sets.has_next())50 # print('当前页的序号,从1开始', query_sets.number)51 52 53 54 55 56 return render(request,"king_admin/table_objs.html",{
"admin_class":admin_class,57 "query_sets": query_sets,58 "filter_condtions": filter_condtions})

 

转载于:https://www.cnblogs.com/Mengchangxin/p/10219192.html

你可能感兴趣的文章
java 面试题 1-10
查看>>
通用删除查询语句存储过程
查看>>
PyCharm的一些设置
查看>>
一个奇怪的网络故障 默认网关为0.0.0.0(Windows)
查看>>
DoDataExchange函数,UpdateData(TRUE)和UpdateData(FALSE)的区别
查看>>
SQL Server 2008 R2如何开启数据库的远程连接
查看>>
搜索框获取转移焦点事件
查看>>
解决js跨域问题
查看>>
使用 Spring 3 MVC HttpMessageConverter 功能构建 RESTful web 服务
查看>>
Java获取当前的系统时间
查看>>
UVALive 4643 Twenty Questions (压缩DP,4级)
查看>>
378. Kth Smallest Element in a Sorted Matrix
查看>>
asp.net下载文件几种方式
查看>>
Web Api通过Route、RoutePrefix等特性设置路由
查看>>
港澳台以及大陆正则表达式
查看>>
linux、windows搭建nginx出现问题集锦
查看>>
HTML5---1.语义化标签
查看>>
dataset转json的类
查看>>
hdu1814 Peaceful Commission 2-sat
查看>>
网站前端的收藏
查看>>