django實現分頁(pure-pagination)
阿新 • • 發佈:2017-09-16
django 分頁 pure-pagination
安裝:
pip install django-pure-pagination
具體步驟搜索GitHub裏面詳情。
class OrgView(View): """ 課程機構列表功能 """ def get(self, request): all_orgs = CourseOrg.objects.all() # 課程機構 org_nums = all_orgs.count() # 記錄多少家 # 城市 all_citys = CityDict.objects.all() # 課程機構進行分頁 try: page = request.GET.get(‘page‘, 1) except PageNotAnInteger: page = 1 p = Paginator(all_orgs, 5, request=request) orgs = p.page(page) return render(request, ‘org-list.html‘, { "all_orgs": orgs, "all_citys": all_citys, ‘org_nums‘: org_nums, })
通過傳過來的orgs,自動生成頁腳
{# 分頁#} <div class="pageturn"> <ul class="pagelist"> {# 如果有,獲取上一頁 #} {% if all_orgs.has_previous %} <li class="long"><a href="?{{ all_orgs.previous_page_number.querystring }}" class="page">上一頁</a></li> {% endif %} {# 判斷剩余頁面的顯示方法: #} {% for page in all_orgs.pages %} {% if page %} {# 判斷page和 all_orgs.number是否相等 : } {% ifequal page all_orgs.number %} <li class="active"><a href="?{{ page.querystring }}">{{ page }}</a></li> {% else %} <li><a href="?{{ page.querystring }}" class="page">{{ page }}</a></li> {% endifequal %} {% else %} <li class="none"><a href="">...</a></li> {% endif %} {% endfor %} {# 如果有,獲取下一頁 #} {% if all_orgs.has_next %} <li class="long"><a href="?{{ all_orgs.next_page_number.querystring }}">下一頁</a></li> {% endif %} </ul> </div>
總結
切記:做分頁獲取數據要調用 .object_list
{% for course_org in all_orgs.object_list %}
本文出自 “13261842” 博客,請務必保留此出處http://13271842.blog.51cto.com/13261842/1965730
django實現分頁(pure-pagination)