比这篇新的文章:
Python - 人性化的时间(比如:两分钟以前)
比这篇旧的文章: 发芽网的全站都在用的css
作者: 半瓶墨水, 点击1102次, 评论(0), 收藏者(1), , 打分:
所有评论,共0条:( 我也来说两句)
比这篇旧的文章: 发芽网的全站都在用的css
自己写的paginate函数 for Django
语言: Python, 标签: 发芽网 Django 2008/05/23发布 9个月前更新 更新记录作者: 半瓶墨水, 点击1102次, 评论(0), 收藏者(1), , 打分:
Python语言: 自己写的paginate函数 for Django
01 #发芽网的上下翻页那一块都是用的这个
02 #blog: http://www.2maomao.com/blog/my-paginate-for-django/
03
04 def mypaginate(request, total, pagesize, params=""):
05 #get page info
06 curr = int(request.GET.get('page', 1))
07 #calculate the offset
08 offset = (curr - 1) * pagesize
09 if offset >= total:
10 offset = total - 1
11 if offset < 0:
12 offset = 0
13 #paginatize
14 page_navi = []
15 page_ex = {}
16 max_page = (total - 1) / pagesize + 1
17 start = curr - ((curr - 1) % 10)
18 end = start + 10
19 if end > max_page + 1:
20 end = max_page + 1 #remember it's [start, end)
21 elif max_page > end:
22 page_ex['max_page'] = max_page
23
24 for i in range(start, end):
25 link = ("?page=%d&" % i) + params
26 page_navi.append((i, link))
27 if curr > 1:
28 page_ex['first'] = ("?page=%d&" % 1) + params
29 page_ex['prev'] = ("?page=%d&" % (curr - 1)) + params
30 if curr < max_page:
31 page_ex['next'] = ("?page=%d&" % (curr + 1)) + params
32 page_ex['last'] = ("?page=%d&" % max_page) + params
02 #blog: http://www.2maomao.com/blog/my-paginate-for-django/
03
04 def mypaginate(request, total, pagesize, params=""):
05 #get page info
06 curr = int(request.GET.get('page', 1))
07 #calculate the offset
08 offset = (curr - 1) * pagesize
09 if offset >= total:
10 offset = total - 1
11 if offset < 0:
12 offset = 0
13 #paginatize
14 page_navi = []
15 page_ex = {}
16 max_page = (total - 1) / pagesize + 1
17 start = curr - ((curr - 1) % 10)
18 end = start + 10
19 if end > max_page + 1:
20 end = max_page + 1 #remember it's [start, end)
21 elif max_page > end:
22 page_ex['max_page'] = max_page
23
24 for i in range(start, end):
25 link = ("?page=%d&" % i) + params
26 page_navi.append((i, link))
27 if curr > 1:
28 page_ex['first'] = ("?page=%d&" % 1) + params
29 page_ex['prev'] = ("?page=%d&" % (curr - 1)) + params
30 if curr < max_page:
31 page_ex['next'] = ("?page=%d&" % (curr + 1)) + params
32 page_ex['last'] = ("?page=%d&" % max_page) + params
所有评论,共0条:( 我也来说两句)
代码
