如何使用Django实现高效分页器功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计259个文字,预计阅读时间需要2分钟。
使用 Django 分页的步骤如下:
pythonfrom django.core.paginator import Paginator, EmptyPage, PageNotAnIntegerfrom django.shortcuts import render, HttpResponsefrom app01.models import Book
def index(request): book_list=Book.objects.all() paginator_obj=Paginator(book_list, 10) # 每页显示10条数据 page=request.GET.get('page') try: books=paginator_obj.page(page) except PageNotAnInteger: books=paginator_obj.page(1) except EmptyPage: books=paginator_obj.page(paginator_obj.num_pages) return render(request, 'index.', {'books': books})
django分页的使用方法
from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger from django.shortcuts import render,HttpResponse from app01.models import Book def index(request): book_list = Book.objects.all() paginator_obj = Paginator(book_list,10) #实例化对象 print(paginator_obj.count) # 数据的总数 print(paginator_obj.num_pages) # 要分的页数 print(paginator_obj.page_range) # 页码的范围,列表 page = paginator_obj.page(1) # 遍历第一页的所有数据 for i in page: print(i) print(page.object_list) # 第一页的所有数据 page2 = paginator_obj.page(2) print( page2.has_next()) #是否有下一页 print(page2.has_previous()) # 是否有上一页 print(page2.next_page_number()) # 下一页的页码 print(page2.previous_page_number()) # 上一页的页码 # EmptyPage,PageNotAnInteger 这两个是异常处理 # Emptypage 是页数不够抛出的异常 # PageNotAnInteger 是页码输入的不是数字抛出异常
本文共计259个文字,预计阅读时间需要2分钟。
使用 Django 分页的步骤如下:
pythonfrom django.core.paginator import Paginator, EmptyPage, PageNotAnIntegerfrom django.shortcuts import render, HttpResponsefrom app01.models import Book
def index(request): book_list=Book.objects.all() paginator_obj=Paginator(book_list, 10) # 每页显示10条数据 page=request.GET.get('page') try: books=paginator_obj.page(page) except PageNotAnInteger: books=paginator_obj.page(1) except EmptyPage: books=paginator_obj.page(paginator_obj.num_pages) return render(request, 'index.', {'books': books})
django分页的使用方法
from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger from django.shortcuts import render,HttpResponse from app01.models import Book def index(request): book_list = Book.objects.all() paginator_obj = Paginator(book_list,10) #实例化对象 print(paginator_obj.count) # 数据的总数 print(paginator_obj.num_pages) # 要分的页数 print(paginator_obj.page_range) # 页码的范围,列表 page = paginator_obj.page(1) # 遍历第一页的所有数据 for i in page: print(i) print(page.object_list) # 第一页的所有数据 page2 = paginator_obj.page(2) print( page2.has_next()) #是否有下一页 print(page2.has_previous()) # 是否有上一页 print(page2.next_page_number()) # 下一页的页码 print(page2.previous_page_number()) # 上一页的页码 # EmptyPage,PageNotAnInteger 这两个是异常处理 # Emptypage 是页数不够抛出的异常 # PageNotAnInteger 是页码输入的不是数字抛出异常

