django 分页

导入模块

from django.core.paginator import Paginator
# 分页模块
from blog.models import Article,Category,Tag
# 博客
post = Article.objects.all() # 博客所有

page=Paginator(post, 9) # 将文章数分页(9)

page.count # 总数据量
page.num_pages # 分页数
page.page_range  # 显示的是页数的标记 就是按钮的数目

views.py

from django.core.paginator import Paginator
from django.views import View


class IndexView(View):
    """
    cbv 基于类视图
    """
    def get(self, request):

        post_all = Article.objects.all()  # 博客所有
        page = Paginator(post_all, 5)  # 将文章数分页(2)

        page_num = page.num_pages  # 分页数总数
        page_range = page.page_range  # 页码的列表数目

        page_first = page.page(1)  # 第1页的page对象
        # page_first_list = page_first.object_list  # 首页展示文章条数

        pageRange = range(1, 6)  # 显示分页按钮数量
        page_count = page.count  # 总数据量

        try:
            # GET请求方式,get()获取指定Key值所对应的value值
            # 获取page的值,url内输入的?page = 页码数  显示你输入的页面数目 默认为第1页
            num = request.GET.get('page', 1)
            # 获取第几页
            number = page.page(1)
        except PageNotAnInteger:
            # 如果输入的页码数不是整数,那么显示第一页数据
            number = page.page(1)
        except EmptyPage:
            number = page.page(page.num_pages)

        currentPage = page.page(num)  # 当前页面

        article_list = currentPage.object_list

        tag_all = [tag for tag in Tag.objects.all()]  # tags

        if request.user.is_authenticated:  # 登录
            user_login = True

        return render(request, 'index.html', locals())

urls.py

    path('', views.IndexView.as_view(), name="index"),

Django-pure-pagination第三方模块

https://www.jianshu.com/p/77a8ea421e22 https://blog.csdn.net/weixin_42134789/article/details/80568089 https://blog.csdn.net/dimples_54/article/details/77995058

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python在手,天下我有!

    说来也奇怪,N妹周围互联网同事最近纷纷开始学Python,N妹没跟上这波步伐,感觉就要被时代抛弃了?

    腾讯NEXT学位
  • TensorFlow从1到2(十五)(完结)在浏览器做机器学习

    TensorFlow一直努力扩展自己的基础平台环境,除了熟悉的Python,当前的TensorFlow还实现了支持Javascript/C++/Java/Go/...

    俺踏月色而来
  • 人人都应该懂Python的时代,再不学习就晚了

    Python是一门计算机编程语言,类似Java,PHP,C++等编程语言。Python本身面向对象语言,具有丰富和强大的库,轻松地使用C语言、C++、Cytho...

    腾讯NEXT学位
  • Python函数式编程 入门必备

    python 支持函数式编程,提到数式编程,大家首先想到的是多个函数内嵌。的确是这样。不过,要想入门函数式编程,里面涉及到的闭包,是不得不掌握的,换句话说,如果...

    double
  • 无人机图片物体检测baseline

    The object category indicates the type of annotated object, (i.e., ignored regio...

    张俊怡
  • 爬取视频数据后我们发现,原来逛B站也能学编程...

    很多人提到B站,首先想到的就会是二次元或者鬼畜,上个月,我们公众号也发表了一篇关于B站鬼畜视频的文章:大数据解读B站火过蔡徐坤的“鬼畜“区巨头们。

    CDA数据分析师
  • 用Python对你的微信好友进行一波骚操作

    临近毕业,慢慢的也感伤起来,回想大学这几年,除了技术的成长,最值得庆幸的就是结交了一帮志同道合的好友。后期自己做了公众号,微信好友的数量也越来越多,身边人所扮演...

    统计学家
  • 商汤开源最大目标跟踪库PySOT,代码已正式上线!

    前几天 CVer推送一篇:重磅!商汤开源最大目标跟踪库PySOT:含SiamRPN++和SiamMask等算法,介绍了来自商汤科技的STVIR(SenseTim...

    机器之心
  • 100天搞定机器学习|Day21 Beautiful Soup

    网络爬虫,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。通俗来说就是模拟用户在浏览器上的操作,从特定网站,自动提取对自己有价值的信息。主要通过查找域...

    统计学家
  • 如何实时可视化渲染你的数据?

    在之前介绍PyQtGraph的文章中,我们都是一次性的获取数据并将其绘制为图形。然而在很多场景中,我们都需要对实时的数据进行图形化展示。

    叫我龙总

扫码关注云+社区

领取腾讯云代金券