美文网首页
分页功能

分页功能

作者: 叶田的学习笔记 | 来源:发表于2018-10-19 03:40 被阅读0次

views.py

from django.shortcuts import render
from django.contrib.auth.decorators import login_required
from .models import ArticlePost

from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger

@login_required(login_url='/account/login/')
def article_list(request):
    articles_list = ArticlePost.objects.filter(author=request.user)  
    paginator = Paginator(articles_list,4)    # 创建分页实例对象,规定每页最多2个
    page = request.GET.get('page')    # 获得当前浏览器GET请求的参数page的值,也就是当前浏览器所请求的页码数值,该参数必须是大于或等于1的整数
    try:
        current_page = paginator.page(page)  # 得到指定页面内容,page()是Paginator对象的一个方法
        articles = current_page.object_list    # 得到该页所有的对象列表,object_list是Page对象的属性
    except PageNotAnInteger:     # 异常:请求的页码数值不是整数
        current_page = paginator.page(1)
        articles = current_page.object_list
    except EmptyPage:    # 异常:请求的页码数值为空或者URL参数中没有page       
        current_page = paginator.page(paginator.num_pages)   # paginator.num_pages返回的是页数,num_pages是Paginator对象的一个属性
        articles = current_page.object_list

    return render(request,'article/column/article_list.html', {'articles': articles, 'page': current_page})

如果请求的页数不是整数,返回第一页。
如果请求的页数不在合法的页数范围内,返回结果的最后一页。

paginator.html

<div class="pagination">
    <span class="step-links">
        {% if page.has_previous %}    
        <a href="?page={{ page.previous_page_number }}">Previous</a>   #注意链接写法
        {% endif %}
        <span class="current">
        Page {{ page.number }} of {{ page.paginator.num_pages }}
        </span>
        {% if page.has_next %}
        <a href="?page={{ page.next_page_number }}">Next</a>
        {% endif %}
    </span>
</div>

number:返回当前页的页码

article_list.html

在适当位置插入paginator.html

{% include "paginator.html" %}

相关文章

  • 分页接口与实现

    功能: 分页接口 源码: 功能: 分页对象 源码:

  • SpringBoot集成MyBatis-Plus分页插件

    1.说明 MyBatis使用分页查询功能,需要配置分页插件,如果没有配置,则分页功能不生效。 2.分页查询API ...

  • (14)Django - 分页功能

    Django已为开发者内置了分页功能,只需调用Django内置分页功能的函数即可实现数据分页功能。我们在Djang...

  • 三、分页功能设计

    在 WEB 应用程序开发过程中,分页功能是必不可少的一个功能,分页功能可以简单也可以设计的很复杂,应用的分页功能一...

  • 第83节:Java中的学生管理系统分页功能

    第83节:Java中的学生管理系统分页功能 分页功能一般可以做成两种,一种是物理分页,另一种是逻辑分页。这两种功能...

  • 分页功能

    基础的html 一些css 按钮样式使用的bootstrap。使用ES6模板语法比以前更方便。 假设每次点击只收到...

  • 分页功能

    views.py 如果请求的页数不是整数,返回第一页。如果请求的页数不在合法的页数范围内,返回结果的最后一页。 p...

  • 分页功能

    2018.07.05,注意时间...分页功能在很多网页中都能看到,比如贴吧、一些新闻网站,都会用到分页。这里来说一...

  • 分页功能

  • 如何使用JavaFX构建一个具有分页和全局排序的TabbleVi

    JavaFX提供了TableView用来显示数据,但是TableView没有分页功能,并且在加上分页功能后,Tab...

网友评论

      本文标题:分页功能

      本文链接:https://www.haomeiwen.com/subject/zxbezftx.html