DJANGO之分页
来源:互联网 发布:淘宝申请售后时间 编辑:程序博客网 时间:2024/05/16 12:12
#coding:utf8#!/usr/bin/env python__author__ = 'sws'from django.utils.html import mark_safeclass PagiInfo: ''' 分页信息 确定每页有几条信息 per_item 确定每页的显示开始的信息序号,以及结束序号 self.Page:当前页 self.Total_count:信息总数目 self.Per_item:每页显示的数目 默认为5 ''' def __init__(self, page, total_count, per_item=5): self.Page = page self.Total_count = total_count self.Per_item = per_item @property def start(self): ''' 返回开始的序号 ''' return self.Per_item*(self.Page-1) @property def end(self): ''' 返回结束的序号 ''' return self.Per_item*(self.Page) @property def total_pages(self): ''' 返回总页数 ''' pages = divmod(self.Total_count,self.Per_item) if pages[1] != 0: total_page = pages[0]+1 else: total_page = pages[0] return total_pagedef Paginor(page, total_pages): ''' :param page: 当前页 :param total_pages: 总页数 :return: 分页字符串 ''' if total_pages < 9: start = 0; end = total_pages else: if page < 5: start = 0 end = 10 else: start = page - 5 if page + 4 > total_pages: end = total_pages else: end = page+4 pa_html = ['<a href=/index/1>首页</a>'] if page <= 1: pa_html.append('<a href=#>前一页</a>') else: pa_html.append('<a href=/index/%d>前一页</a>' %(page-1)) for i in range(start+1,end+1): temp = '<a href=/index/%d>%d</a>' %(i, i) pa_html.append(temp) if page >= total_pages: pa_html.append('<a href=#>后一页</a>') else: pa_html.append('<a href=/index/%d>后一页</a>' %(page+1)) pa_html.append('<a href=/index/%d>尾页</a>' %(total_pages+1)) page_string=mark_safe(' '.join(pa_html)) return page_string
0 0
- DJANGO之分页
- Django之分页功能
- Django之分页功能
- Django之自定义分页代码简单实现
- django 分页
- django分页
- django 分页
- django 分页
- Django分页
- django分页
- Django 分页
- Django 分页
- django分页
- django 分页
- Django 分页
- Django分页
- Django 分页
- Django 分页 django-pagination
- POJ_P2411 Mondriaan's Dream(轮廓线DP)
- ZOJ 1009 Enigma
- Redis与Memcached的区别(转)
- Masonry的使用
- Python多线程学习
- DJANGO之分页
- 机房重构——数据类型很重要
- A-MSDU 和 AMPDU
- uva 10491 Cows and Cars
- 输出json格式数据
- js 两数 的 加减乘数 运算
- try里面有个return 那后面的finally还执行吗?
- 关于js中单引号(')和双引号(")的使用以及转义的理解
- 函数bind的实现