[py][mx]django分頁第三方模塊django-pure-pagination
阿新 • • 發佈:2018-02-04
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