Python3之Django Web框架分页多页码处理二
2017-11-01 20:28
483 查看
视图函数:
if request.method == 'GET': publisher_list = models.Publisher.objects.all() # 分页功能 paginator = Paginator(publisher_list, 5) page_num = request.GET.get('page', 1) ############################################## currentPage = int(page_num) # 如果页数多时,换另外一种显示方式 if paginator.num_pages > 30: if currentPage - 5 < 1: pageRange = range(1, 11) elif currentPage + 5 > paginator.num_pages: pageRange = range(currentPage - 5, paginator.num_pages + 1) else: pageRange = range(currentPage - 5, currentPage + 5) else: pageRange = paginator.page_range publisher_list = paginator.page(currentPage) context = {'publisher_list': publisher_list, 'currentPage': currentPage, 'pageRange': pageRange} return render(request, 'publisher.html', context)
模板代码:
{#多分页实现方式二#} {% for page_index in pageRange %} {#完整功能#} {% if currentPage == page_index %} <li class="active"><a href="/CMS/publisherpage/?page={{ page_index }}">{{ page_index }}</a></li> {% else %} <li><a href="/CMS/publisherpage/?page={{ page_index }}">{{ page_index }}</a></li> {% endif %} {% endfor %}
相关文章推荐
- Python3之Django Web框架分页多页码处理一
- Python3之Django Web框架首页分页处理升级版
- Python3之Django Web框架URL匹配、反向解析及部分错误处理
- Python web框架:Django & Tornado
- python web框架企业实战详解(第六期)\第四课时-webpy&django
- Python Django Web 框架,从安装到完成 Web 站点的设计
- Python之Web框架Django项目搭建全过程
- [Link]选择一个 Python Web 框架:Django vs Flask vs Pyramid
- 技术文章 | Python Web框架:Django vs Flask vs Pyramid
- 多套方案来提高python web框架的并发处理能力 推荐
- Python的web框架之Django入门(三)
- [转]Django 是一个 Python 下的 web 开发框架[学习资料]
- PythonWeb框架Django11学习(二) 初步HelloWorld
- Python Web 框架,第 1 部分: 使用 Django 和 Python 开发 Web 站点
- Python Web 框架,第 1 部分: 使用 Django 和 Python 开发 Web 站点
- 用Python的Django框架完成视频处理任务的教程
- Python Web框架(Django)的必要性
- python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
- python下的web开发框架-Django,url配置