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內置的分頁 具有侷限性, 默認 只能 顯示全部頁碼,只適用於 上一頁下一頁。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章