html_helper 分页

 1 # -*- coding: utf-8 -*-
 2
 3 from django.utils.safestring import mark_safe
 4 ‘‘‘
 5 Created on 2017年5月4日
 6
 7 change on 07May2017
 8 ‘‘‘
 9 def model(page,per_item,M):
10     try:
11         page = int(page)
12     except:
13         page = 1
14     start = (page-1)*per_item
15     end = page*per_item
16     count = M.objects.all().count()
17     result = M.objects.all()[start:end]
18     print result
19     temp = divmod(count, per_item)
20     if temp[1] == 0 :
21         all_page_count = temp[0]
22     else:
23         all_page_count = temp[0]+1
24     return all_page_count,result,count
25
26
27 def pager(page,all_page_count,url):
28     try:
29         page = int(page)
30     except:
31         page = 1
32     #判断如果页面是1,则上一页无,正常上一页为当前少1
33     if page <= 1:
34         page_html = "<a href=‘#‘>上一页</a>"
35     else:
36         page_html = "<a href=‘%s/%d‘>上一页</a>"%(url,page-1)
37     #首页就是第1页
38     page_html += "<a href=‘%s/%d‘>首页</a>"%(url,1)
39
40     #页面显示11个页码,如果当前页面少于5,则启始页为1,正常启始页为当前减5
41     if page< 11:
42         page_start = 1
43         page_end = all_page_count+1
44     else:
45         page_start = page-5
46         if all_page_count-6>=page:
47             page_end = page+6
48         else:
49             page_end = all_page_count
50
51     for i in range(page_start,page_end):
52         if page == i:
53             a_html ="<a class=‘selected‘ href=‘%s/%d‘>%d</a>"%(url,i,i)
54         else:
55             a_html ="<a href=‘%s/%d‘>%d</a>"%(url,i,i)
56         page_html += a_html
57
58     page_html += "<a href=‘%s/%d‘>尾页</a>"%(url,all_page_count)
59     #
60     if page <= all_page_count-1:
61         page_html += "<a href=‘%s/%d‘>下一页</a>"%(url,page+1)
62     else:
63         page_html += "<a href=‘#‘>下一页</a>"
64     page =  mark_safe(page_html)
65     return page
时间: 2024-10-16 06:10:10

html_helper 分页的相关文章

Djano 分页 day3 html_helper.py

day3: 将startr 和 end 值加入html_helper.py 更加方便导入 1:???? 11 个 页码 如果 总页数 < 11 1-总页数 else: 当前页 < 6: 1 - 11 当前页 > 6: 如果 当前页 + 5 > 总页数 当前页 + 5 --- 总页数 当前页 -5 -- 当前页 + 5 2:输入 page 当前页数 num 总页数 per_item 默认值为5 输出 start end all_page_count 3:使用类会产生 start 和

django学习2分页

在django中有一个分页的函数,但是我个人觉得不是很好,有的功能不能定制感觉有点不方便,在另外一方面出于学习的目的,我又自己写了一遍分页的代码用户来实现定制化的内容,在django中自带的分页函数是这样的(django-pagination)使用的时候只需要调用一下就可以了. 现在我们自己来实现一下分页的功能,这个是最后调用的格式 from django.shortcuts import render_to_response from DjangoBlog.blog import models

django 分页(2) 使用类 页码显示

django 分页显示页码 views.py 显示11页码 1 2 3 4 5 6 7 8 9 10 11 if 总页数(10) < 11 起始位置 1 - 10总页数 else 总页数 > 11 IF 当前页 小于 6 起始位置 1 结束页 11 IF 当前页 大于 6 IF 如果结束页 > 总页数 起始值 6 - 5 总页数 else 起始值 6 - 5 结束页 6+5 #!/usr/bin/env python #_*_coding:utf-8_*_ from django.sho

django 简单分页

初学django分页, 变量名写的太随意见谅. 1 view.py 2 3 def Index(request,page): 4 page = common(page,1) 5 pageDataCount = 20 6 #data 7 data = models.Host.objects.all() 8 #传入数据量,当前页码数,每页显示多少条数据 9 ret = Pager(data,page,pageDataCount) 10 return render_to_response('day13

python__Django 分页

自定义分页的类: #!/usr/bin/env python # -*- coding: utf-8 -*- # Created by Mona on 2017/9/20 from django.utils.safestring import mark_safe class Paginator: ''' 页码的格式依赖于bootstrap: 使用案例: from django.shortcuts import render,redirect,HttpResponse from app01.mod

ajax+分页

<!DOCTYPE html><html><head lang="zh-cn"><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"><meta http-equiv="X-UA-Compat

使用插件bootstrap-table实现表格记录的查询、分页、排序等处理

在业务系统开发中,对表格记录的查询.分页.排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这个bootstrap-table是一款非常有名的开源表格插件,在很多项目中广泛的应用.Bootstrap-table插件提供了非常丰富的属性设置,可以实现查询.分页.排序.复选框.设置显示列.Card view视图.主从表显示.合并列.国际化处理等处理功能,而且该插件同时也提供了一些不错的扩展功能,如移动行.移动列位置等一些特殊的功能,插件可

优化LIMIT分页

在系统中需要分页的操作通常会使用limit加上偏移量的方法实现,同时加上合适的order by 子句.如果有对应的索引,通常效率会不错,否则MySQL需要做大量的文件排序操作. 一个非常令人头疼问题就是当偏移量非常大的时候,例如可能是limit 10000,20这样的查询,这是mysql需要查询10020条然后只返回最后20条,前面的10000条记录都将被舍弃,这样的代价很高.如果所有的页面被访问的频率相同,那么这样的查询平均需要访问半个表的数据.要优化这样的查询,要么实在页面中限制分页的数量,

Ajax实现无刷新分页

注:本文中使用到的一些类库在前面文章都能找到源代码,我会在文中指明链接所在,为了缩短文章篇幅,由此带来的阅读不便,敬请谅解. 本文讲解 Ajax 实现无刷新分页.实现原理.代码展示.代码下载. 这里需要说明一些知识: 1.Ajax 无刷新页面的好处:提供良好的客户体验,通过 Ajax 在后台从数据库中取得数据并展示,取缔了等待加载页面而出现的空白状态: 2.那么,Ajax 无刷新页面是运行在动态页面(.PHP)?还是静态页面(.html/.htm/.shtml)?答案是:静态页面: 3.实现原理