zoukankan      html  css  js  c++  java
  • Django Paginator分页器

    如何实现在django中实现分页效果,我使用的是django自带的分页器paginator
    具体是使用办法是这样的首先引用from django.core.paginator import Paginator
    首先得到你需要实现分页的文章:article_list = Article.objects.all()
    之后规定一个变量paginator用这个变量去储存分页结果
    paginator = Paginator(article_list, 5)
    这里Paginator中第一个参数是需要分页的目标,第二个参数是你想要多少个目标分成一页
    这里是首先我的目标是article_list之后我需要每5篇文章分成一页

    之后在django中我们还需要去获取到每一页的url
    page = int(request.GET.get('page',1))
    页数page使用request.GET的方法获取,get的第一个参数是page,如果没有获取到,自动获取第1页
    article_list = paginator.page(page)

    然后得到了page页对应的文章列表

    代码展示:

    # 定义首页方法
    def index(request):
        try:
            article_list = Article.objects.all()
            article_list = getPage(request,article_list)
        except Exception as e:
            logger.error(e)
        return render(request, 'index.html', locals())
    
    
    # 重构分页代码
    def getPage(request, article_list):
        paginator = Paginator(article_list, 5)
        try:
            page = int(request.GET.get('page', 1))
            article_list = paginator.page(page)
        except (EmptyPage, InvalidPage, PageNotAnInteger):
            article_list = paginator.page(1)
        return article_list

    详细补充:

  • 相关阅读:
    js实现继承
    简单原型语法和原型动态性
    js中关于原型的几个方法
    js创建对象的几种方式
    收藏的js学习小例子
    结合 WebService 实现消息 主动推送到客户端
    Exceptionless 本地搭建记录
    EF6 SqlServer 简单例子 和 支持的原生sql例子
    Ubuntu下deb文件及tgz文件安装
    Windows 10家庭版远程桌面连接错误
  • 原文地址:https://www.cnblogs.com/hooo-1102/p/11905810.html
Copyright © 2011-2022 走看看