Django之自定义分页代码简单实现
2017-12-19 08:03
931 查看
def get_page(request, ): """ 自定义分页 :param request: :return: """ method_get_info = request.GET request.GET._mutable = True request.GET['list_filter'] = method_get_info.urlencode() # 伪造数据 global basic_url if request.method == 'GET': curr_page_num = int(request.GET.get('page', 1)) data_list = [] idx_list = [] for idx, val in enumerate(range(1, 1118), 1): idx_list.append(idx) basic_url = '/page/10/?%s' % request.GET.urlencode() data_list.append('%s.%s.%s.%s' % (val, val, val, val)) # basic_url_list = [] # for idx in idx_list: # basic_url = '/page/?page=%s&did=%s' % (curr_page_num, idx) # basic_url_list.append(basic_url) # print(basic_url_list) # 开始分页 per_page_num = 10 # #数据在每页开始的数字 data_start_num = (curr_page_num - 1) * per_page_num # #数据在每页结束的数字 data_end_num = per_page_num * curr_page_num per_page_data = data_list[data_start_num:data_end_num] # 总的数据量 data_total_count = len(data_list) total_pages, left_num = divmod(data_total_count, per_page_num) if left_num: total_pages += 1 # 控制页码显示的个数 # #总页数<11 show_label_num = 11 if total_pages < show_label_num: show_label_num = total_pages # #总页数>11 else: show_label_num = show_label_num pager_html_list = [] # 起始页码 start_page_num = 1 # #翻页时控制起始页 if curr_page_num - start_page_num < 5: start_page_num = 1 else: start_page_num = curr_page_num - 5 # #翻页时控制终止页 if curr_page_num + 5 > total_pages: show_label_num = total_pages # ===========================>>> start_page_num = show_label_num - 10 else: show_label_num = curr_page_num + 5 for idx, i in enumerate(range(start_page_num, show_label_num + 1)): # 如果循环的页数等于当前页 if i == curr_page_num: pager_html_list.append( '<a href="/page/?page=%s" class="active url">%s</a>' % (i, i,)) else: pager_html_list.append( '<a href="/page/?page=%s" class="url">%s</a>' % (i, i,)) pager_html = ''.join(pager_html_list) return render(request, 'my_pager.html', { 'per_page_data': per_page_data, 'pager_html': pager_html, 'basic_url': basic_url } )
不懂得可以参考:
https://github.com/QuincyC379/DjetPS:根据Django源码写的快速增删改查的组件,希望对各位有点帮助!
相关文章推荐
- C#内容分页简单实现代码及祥解
- ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
- ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
- 在基于hibernate JPA中实现自定义的分页代码
- Django实现简单分页功能的方法详解
- Angular+Angular-Ui实现分页(代码更加简单,更加容易懂哦)
- 内容分页简单实现代码及祥解(C#)
- JSP实现的简单分页显示效果代码
- YbSoftwareFactory 代码生成插件【十四】:通过 DynamicLinq 简单实现 N-Tier 部署下的服务端数据库通用分页
- ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
- JavaWeb 简单分页实现代码
- 自定义注解的简单实现例子,附上代码和测试结果图
- 无需太多的代码利用超链接即可实现简单自定义漂亮复选框
- 使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
- gridview 实现自定义分页、排序、查询、添加、编辑、多选删除 之代码规范
- 超简单的自定义标签封装实现的JSP分页显示功能
- iOS 使用纯代码自定义UITableViewCell实现一个简单的微博界面布局
- PHP分页初探 一个最简单的PHP分页代码实现
- angularjs+bootstrap实现自定义分页的实例代码
- 简单的自定义分页控件实现(Asp.net)