Django分页比较简单,它内置了一个Paginator类.这样对分页的操作只需要明白这个类就OK了。
def list(request):
after_range_num = 5
bevor_range_num = 4
try:
page = int(request.GET.get("page",1))
print('page----->',page)
if page < 1:
page = 1
except ValueError:
page = 1
info = Article.objects.order_by('id').all()
paginator = Paginator(info,3)
try:
articleList = paginator.page(page)
except(EmptyPage,InvalidPage,PageNotAnInteger):
articleList = paginator.page(1)
print('articleList---->',articleList.object_list)
#显示范围
if page >= after_range_num:
page_range = paginator.page_range[page-after_range_num:page+bevor_range_num]
else:
page_range = paginator.page_range[0:int(page)+bevor_range_num]
return render_to_response("blogsite/list.html",locals())
以上是分页的controller.html代码如下:
{% if info %}
{% for article in articleList.object_list %}
<div class="article">
<div class="title">-----<a href='/blogsite/{{ article.id }}'>{{ article.title }}</a></div>
</div>
{% endfor %}
{% else %}
<p>对不起没有文章奥!</p>
{% endif %}
<hr>
{% if has_previous %}
<a href="/?page={{ previous }}">上一页</a>
{% endif %}
{% if has_next %}
<a href="/?page={{ next }}"></a>
{% endif %}
<hr>
{% if articleList.has_previous %}
<a href="?page={{ articleList.previous_page_number }}" title="下一页">上一页</a>
{% endif %}
{% for p in page_range %}
{% ifequal p articleList.number %}
<span>{{p}}</span>
{% else %}
<a href="?page={{p}}" title="第{{p}}页">{{p}}</a>
{% endifequal %}
{% endfor %}
{% if articleList.has_next %}
<a href="?page={{ articleList.next_page_number }}" title="下一页">下一页</a>
{% endif %}
分享到:
相关推荐
Django扩展分页,详细介绍了多种分页操作,简单实用。
需要一个页面分页展示信息,在该页面添加搜索框以提供检索功能。 那么,我们知道,展示信息和检索功能是在同一个页面,也就是共用一个路由。 代码如下: 第一步,写路由:为了清晰,这里只给出主页和展示页面的路由...
今天给大家分享的是如何使用Django实现简单分页功能的方法,主要依托于Django提供的一个新的类Paginator来实现的
主要介绍了Django框架实现的简单分页功能,在之前一篇留言板之上增加了简单分页功能,涉及Paginator模块的简单使用技巧,需要的朋友可以参考下
这次,给大家分享layui动态表格内置的方法结合django分页模块来实现表格的一系列操作,简单实用方便。 Django:非常强大的web开发框架 Paginator:Django自带的一个轻量级分页模块 layui:类UI(谐音),一款强大的...
Django 内置的 Pagination 能够帮助我们实现简单的分页功能,在上一篇教程中我们使用脚本批量生成了几百篇博客文章,正好用于测试分页效果。 Paginator 类的常用方法 分页功能由 Django 内置的 Paginator 类提供,这...
本文实例讲述了Django实现简单分页功能的方法。分享给大家供大家参考,具体如下: 使用django的第三方模块django-pure-pagination 安装模块: pip install django-pure-pagination 将’pure_pagination’添加到...
这篇文章主要介绍了Python Django 简单分页的实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 models.py: from django.db import models class ...
Django REST framework 有内置 Pagination 模块,无需额外安装, 只需做简单的配置. 配置什么呢? 就是告诉Django要用到什么样的分页样式, 比如: 返回哪些字段, 每页的大小, 请求参数的名称等等. 2种配置途径: 1....
django案例手册、本书涉及django项目创建、实现简易登录页面,验证登录页是否成功,注册功能,使用mysql数据库,数据库中内容前台显示,django的分页功能
7.文章的分页显示,每页大小可后台设置 8.给文章评分,顶和踩 9.全文搜索功能 10.引入富文本编辑器,让格式更漂亮,并支持代码高亮等功能 11.全面集成redis缓存系统,提升系统速度 12.i18n国际化 13.集成xadmin的...
Django 有着强大而又及其易用的admin后台,在这里,你可以轻松实现复杂代码实现的功能,如搜索,筛选,分页,题目可编辑,多选框. 简单到,一行代码就可以实现一个功能,而且模块之间耦合得相当完美. 不信,一起来看看吧!?用...
展示所有的博文列表并实现列表的分页功能,点击阅读链接可以查看文章详情,另外我们增加浏览量显示功能用于进行简单的数据统计。 4、写文章页面: 撰写文章并发布文章 5、文章详情页面: 展示文章详情,并提供修改...
基于DjangoORM的外键实现增加用户(含select标签) 作业 第20周 课程安排 上课内容回顾 Django一对多的创建 创建一对多表结构 获取单表单数据的三种方式 一对多跨表操作 一对多块表操作的的三种方式 增加一对多...
实现功能有:登陆注册,留言、回复(含N次回复,因示例项目的原因,这里实现了2次回复,但要实现QQ空间的说说那样也简单!)、删除留言、留言评论、删除评论、分页、后台管理(超级用户)。等等剩下的自己去看吧