Django 1.X和2.0下利用自带分页Paginator类实现分页功能

本文介绍了如何在Django 1.x和2.0中利用内置的Paginator类实现分页功能,重点比较了Django 2.0新增的get_page()方法对代码简化的影响,并提供了模板示例。同时,展示了在基于类的视图中使用分页的方法。
摘要由CSDN通过智能技术生成

Django作为Python Web开发框架的一哥,提供了企业级网站开发所需要的几乎所有功能,其中就包括自带分页功能。利用Django自带的Paginator类,我们可以很轻松地实现分页。Django 2.0和1.X最大的不同在于新增了get_page()方法。我们现在来具体看看有什么不同。


Django 1.X 和Django 2.0下实现分页


利用Django实现分类非常简单,我们只需要修改views.py和模板template。Django 1.X下实现分页代码如下:


# app/views.py - 基于函数的视图

from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from .models import Article
from django.shortcuts import render

def article_list(request): article_list = Article.objects.all() paginator = Paginator(article_list, 10) # 实例化一个分页对象, 每页显示10个 page = request.GET.get('page') # 从URL通过get页码,如?page=3 try: articles = paginator.page(page) # 获取某页对应的记录 except PageNotAnInteger: # 如果页码不是个整数 articles = paginator.page(1) # 提取第一页的记录 except
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值