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

    详细补充:

  • 相关阅读:
    android_SurfaceView 画图
    android_activity_研究(二)
    android_sdcard读写(一)
    双缓冲的小程序
    C++运算符重载小程序
    再练
    菜鸟的第一个博客(用java写的个小文本框)
    LUCENE第一个小程序(有错)
    蜗牛在奔跑
    指定目录下的java文件存储到一个Txt文本文件中
  • 原文地址:https://www.cnblogs.com/hooo-1102/p/11905810.html
Copyright © 2011-2022 走看看