`
xiaobin268
  • 浏览: 12041 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
文章分类
社区版块
存档分类
最新评论

Django 分页的简单实现

阅读更多
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>&nbsp;
{% endif %}
{% for p in page_range %}
{% ifequal p articleList.number %}
<span>{{p}}</span>
{% else %}
<a href="?page={{p}}" title="第{{p}}页">{{p}}</a>
{% endifequal %}
{% endfor %}
&nbsp;
{% if articleList.has_next %}
<a href="?page={{ articleList.next_page_number }}" title="下一页">下一页</a>&nbsp;
{% endif %}
分享到:
评论

相关推荐

    Django分页操作

    Django扩展分页,详细介绍了多种分页操作,简单实用。

    Django 简单实现分页与搜索功能的示例代码

    需要一个页面分页展示信息,在该页面添加搜索框以提供检索功能。 那么,我们知道,展示信息和检索功能是在同一个页面,也就是共用一个路由。 代码如下: 第一步,写路由:为了清晰,这里只给出主页和展示页面的路由...

    Django实现分页功能

    今天给大家分享的是如何使用Django实现简单分页功能的方法,主要依托于Django提供的一个新的类Paginator来实现的

    Django框架实现的简单分页功能示例

    主要介绍了Django框架实现的简单分页功能,在之前一篇留言板之上增加了简单分页功能,涉及Paginator模块的简单使用技巧,需要的朋友可以参考下

    Django+Paginator模块+LayUi实现分页(精简版)

    这次,给大家分享layui动态表格内置的方法结合django分页模块来实现表格的一系列操作,简单实用方便。 Django:非常强大的web开发框架 Paginator:Django自带的一个轻量级分页模块 layui:类UI(谐音),一款强大的...

    通过 Django Pagination 实现简单分页功能

    Django 内置的 Pagination 能够帮助我们实现简单的分页功能,在上一篇教程中我们使用脚本批量生成了几百篇博客文章,正好用于测试分页效果。 Paginator 类的常用方法 分页功能由 Django 内置的 Paginator 类提供,这...

    Django实现简单分页功能的方法详解

    本文实例讲述了Django实现简单分页功能的方法。分享给大家供大家参考,具体如下: 使用django的第三方模块django-pure-pagination 安装模块: pip install django-pure-pagination 将’pure_pagination’添加到...

    Python Django 简单分页的实现代码解析

    这篇文章主要介绍了Python Django 简单分页的实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 models.py: from django.db import models class ...

    Django REST framework 分页的实现代码

    Django REST framework 有内置 Pagination 模块,无需额外安装, 只需做简单的配置. 配置什么呢? 就是告诉Django要用到什么样的分页样式, 比如: 返回哪些字段, 每页的大小, 请求参数的名称等等. 2种配置途径: 1....

    django实例手册.pdf

    django案例手册、本书涉及django项目创建、实现简易登录页面,验证登录页是否成功,注册功能,使用mysql数据库,数据库中内容前台显示,django的分页功能

    基于Django1.9.5开发一个简单的博客系统

    7.文章的分页显示,每页大小可后台设置 8.给文章评分,顶和踩 9.全文搜索功能 10.引入富文本编辑器,让格式更漂亮,并支持代码高亮等功能 11.全面集成redis缓存系统,提升系统速度 12.i18n国际化 13.集成xadmin的...

    Django admin实现图书管理系统菜鸟级教程完整实例

    Django 有着强大而又及其易用的admin后台,在这里,你可以轻松实现复杂代码实现的功能,如搜索,筛选,分页,题目可编辑,多选框. 简单到,一行代码就可以实现一个功能,而且模块之间耦合得相当完美. 不信,一起来看看吧!?用...

    Python + Django4 +MySQL搭建个人博客源码

    展示所有的博文列表并实现列表的分页功能,点击阅读链接可以查看文章详情,另外我们增加浏览量显示功能用于进行简单的数据统计。 4、写文章页面: 撰写文章并发布文章 5、文章详情页面: 展示文章详情,并提供修改...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    基于DjangoORM的外键实现增加用户(含select标签) 作业 第20周 课程安排 上课内容回顾 Django一对多的创建 创建一对多表结构 获取单表单数据的三种方式 一对多跨表操作 一对多块表操作的的三种方式 增加一对多...

    基于python+django留言板

    实现功能有:登陆注册,留言、回复(含N次回复,因示例项目的原因,这里实现了2次回复,但要实现QQ空间的说说那样也简单!)、删除留言、留言评论、删除评论、分页、后台管理(超级用户)。等等剩下的自己去看吧

Global site tag (gtag.js) - Google Analytics