1.分页:
分页使用Django内置的分页模块来实现
官方的分页案例
1 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger 2 from django.shortcuts import render 3 #后端 4 def listing(request): 5 contact_list = Contacts.objects.all() 6 paginator = Paginator(contact_list, 25) # Show 25 contacts per page 7 8 page = request.GET.get('page') 9 try: 10 contacts = paginator.page(page) 11 except PageNotAnInteger: 12 # If page is not an integer, deliver first page. 13 contacts = paginator.page(1) 14 except EmptyPage: 15 # If page is out of range (e.g. 9999), deliver last page of results. 16 contacts = paginator.page(paginator.num_pages) 17 18 return render(request, 'list.html', {'contacts': contacts}) 19 #前端 20 % for contact in contacts %} 21 {# Each "contact" is a Contact model object. #} 22 {{ contact.full_name|upper }}<br /> 23 ... 24 {% endfor %} 25 #分页组件 26 <div class="pagination"> 27 <span class="step-links"> 28 {% if contacts.has_previous %} 29 <a href="?page={{ contacts.previous_page_number }}">previous</a> 30 {% endif %} 31 32 <span class="current"> 33 Page {{ contacts.number }} of {{ contacts.paginator.num_pages }}. 34 </span> 35 36 {% if contacts.has_next %} 37 <a href="?page={{ contacts.next_page_number }}">next</a> 38 {% endif %} 39 </span> 40 </div>