一、获取请求参数
def index(request): limit = request.GET.get(‘limit‘,20) #get请求获取请求参数 page = request.GET.get(‘page‘,1) username = request.POST.get(‘name‘,‘nana‘) #post请求获取请求参数
二、分页的方法
from django.core.paginator import Paginator #实现分页的类 l = list(range(100)) #定义一个list作为分页的数据 page_obj = Paginator(l,20) #第一个参数,对谁进行分页,第二个参数,一页多少个 print(page_obj.count)# 总共多少条数据 print(list(page_obj.get_page(2)))#获取第1页的数据 print(page_obj.object_list)#page_obj原始的数据 print(page_obj.num_pages)#总共分了几页 print(page_obj.page_range)#分页范围 range(1, 6) page1 = page_obj.get_page(1) re = page1.has_next()#是否有下一页 re = page1.has_other_pages()#是否有其他的页 re = page1.has_previous()#是否有上一页 re = page1.next_page_number()#下一页的页码,如果没有则报错 re = page1.previous_page_number()#上一页的页码 re = page1.end_index()#这一页最后一个元素的脚标 re = page1.start_index()#这一页第一个元素的脚标 re = page1.paginator#获取分页的对象 re = page1.number #当前的页码 print(re)
三、实现分页
def index(request): limit = request.GET.get(‘limit‘,page_limit)#从请求中获取limit page = request.GET.get(‘page‘,1)#从请求中获取page articles = models.Article.objects.filter(is_delete=1)#从数据库中取到文章表的内容 page_obj = Paginator(articles, limit)#得到文章的对象,按照传过来的limit决定一页多少文章 page_data = page_obj.get_page(page)#得到具体页面的内容,比如page传入3就获取第三页的内容 dic = {‘articles‘ : page_data}#传到页面上的数据已经根据页码显示 return render(request, ‘index.html‘, dic)
原文地址:https://www.cnblogs.com/yanyan-/p/11742982.html
时间: 2024-11-08 16:55:56