Django-内置分页

Django-内置分页

  • Djnago内置的分页 具有局限性, 默认 只能 显示全部页码,只适用于 上一页下一页。
def test(request):
        from django.core.paginator import Paginator,Page
    current_page = request.GET.get('page')

    user_list = models.UserInfo.objects.all()
    paginator = Paginator(user_list,10)

    # per_page: 每页显示条目数量
    # count:    数据总个数
    # num_pages:总页数
    # page_range:总页数的索引范围,如: (1,10),(1,200)
    # page:     page对象

    try:
        posts = paginator.page(current_page)
    except Exception as e:
        posts = paginator.page(1)

    # has_next              是否有下一页
    # next_page_number      下一页页码
    # has_previous          是否有上一页
    # previous_page_number  上一页页码
    # object_list           分页之后的数据列表
    # number                当前页
    # paginator             paginator对象


    return render(request,'test.html',{'posts':posts})


{#test.html#}

<body>

<ul>
    {% for row in posts.object_list %}
        <li>{{ row.id }} - {{ row.name }} - {{ row.ut.title }}</li>
    {% endfor %}
</ul>


{% if posts.has_previous %}
    <a href="/test/?page={{ posts.previous_page_number }}">上一页</a>
{% endif %}

{% for num in posts.paginator.page_range %}
    <a href="/test/?page={{ num }}">{{ num }}</a>
{% endfor %}

{% if posts.has_next %}
    <a href="/test/?page={{ posts.next_page_number }}">下一页</a>
{% endif %}

</body>

  • Djnago内置的分页 具有局限性, 默认 只能 显示全部页码,只适用于 上一页下一页。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值