清秋2018

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

Django基础06篇 分页

1.导入Django自带的分页类

from django.core.paginator import Paginator

2.分页类的使用

复制代码
def index(request):
    # return HttpResponse('hello django!')
    limit = request.GET.get('limit',5)
    page_number = request.GET.get('page',1)
    articles = models.Article.objects.all()
    page = Paginator(articles,limit)  # 分页后的对象
    articles = page.page(page_number) # 当前页的数据

    print(articles.has_next())  # 有没有下一页
    # print(articles.next_page_number())#下一页的页码,有下一页的话才有
    print(articles.has_other_pages())  # 有没有其他页
    print(articles.has_previous())  # 有没有上一页
    # print(articles.previous_page_number())#上一页的页码
    print(articles.number)  # 当前页的页码
    print(articles.start_index())  # 当前这一页的第一条数据的下标
    print(articles.end_index())  # 当前这一页的最后一条数据的下标
    # articles.paginator #就是上面分页完之后的对象

    print(page.num_pages)  # 总共多少页
    print(page.page_range)  # 分页的范围  1 2 3 4
    # articles.paginator.num_pages
    # title = 'my blog'
    return render(request, 'index.html', {'articles': articles}) 
复制代码

3. 前端代码中使用

复制代码
<div class="text-center mt-2 mt-sm-1 mt-md-0 mb-3 f-16">
                    {% if articles.has_previous %}
                        <a class="text-success" href="?page={{ articles.previous_page_number }}">上一页</a>
                    {% else %}
                        <span class="text-secondary" title="当前页已经是首页">上一页</span>
                    {% endif %}
                    <span class="mx-2">&nbsp;{{ articles.number }}&nbsp;/&nbsp;{{ articles.paginator.num_pages }}&nbsp;</span>
                    {% if articles.has_next %}
                        <a class="text-success" href="?page={{ articles.next_page_number }}">下一页</a>
                    {% else %}
                        <span class="text-secondary" title="当前页已经是尾页">下一页</span>
                    {% endif %}


                </div>
index.html
复制代码

 

posted on   清秋2018  阅读(64)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示