1. 程式人生 > >[py][mx]django分頁第三方模塊django-pure-pagination

[py][mx]django分頁第三方模塊django-pure-pagination

ati url course count() nat src eno dict install

分頁模塊django-pure-pagination

- 一款基於django pagination封裝的更好用的分頁模塊
https://github.com/jamespacileo/django-pure-pagination

- 安裝
pip install django-pure-pagination

views.py

from pure_pagination import Paginator, EmptyPage, PageNotAnInteger

class OrgView(View):  # 課程機構列表頁
    def get(self, request):
        all_orgs = CourseOrg.objects.all()  # 所有課程機構
        org_count = all_orgs.count()  # 多少家課程機構
        all_citys = CityDict.objects.all()  # 所有城市列表
        
        # 分頁模塊
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        p = Paginator(all_orgs, 3, request=request)
        orgs = p.page(page)

        return render(request, 'org-list.html', {
            "all_orgs": orgs,
            "all_citys": all_citys,
            'org_count': org_count,
        })

設置每頁顯示

技術分享圖片

前端修改

註: 這裏org_count顯示多少家, all_orgs.count()

class OrgView(View):  # 課程機構列表頁
    def get(self, request):
        all_orgs = CourseOrg.objects.all()  # 所有課程機構
        org_count = all_orgs.count()  #顯示多少家課程機構
    {#    課程機構    #}
    <div>
        <strong>共{{ org_count }}家<strong/>
            <ul>
                {% for course_org in all_orgs.object_list %}
                    <li><img src="{{ MEDIA_URL }}{{ course_org.image }}" alt=""></li>
                {% endfor %}
            </ul>

            {#  渲染默認樣式的分頁 #}
            <p>{{ all_orgs.render }}</p> 
    </div>

完整的前端代碼

{% extends 'base.html' %}{# 一定要出現在第一行 #}
{% load staticfiles %}
{% block title %}
    課程列表
{% endblock %}

{% block custom_bread %}
    <div>
        <ul>
            <li><a href="">首頁</a>>課程機構</li>

        </ul>
    </div>
{% endblock %}

{% block content %}
    {#    機構類別    #}
    <div>
        <p><strong>機構類別</strong>: 全部 培訓結構 高校 個人</p>
    </div>

    {#    城市    #}
    <div>
        <p><strong>城市</strong>:{% for city in all_citys %}
            {{ city.name }}
        {% endfor %}
        </p>
    </div>
    {#    課程機構    #}
    <div>
        <strong>共{{ org_count }}家<strong/>
            <ul>
                {% for course_org in all_orgs.object_list %}
                    <li><img src="{{ MEDIA_URL }}{{ course_org.image }}" alt=""></li>
                {% endfor %}
            </ul>
            <p>{{ all_orgs.render }}</p>
    </div>
{% endblock %}

技術分享圖片

[py][mx]django分頁第三方模塊django-pure-pagination