博客
关于我
比Django官方实现更好的分页组件+Bootstrap整合
阅读量:413 次
发布时间:2019-03-06

本文共 2411 字,大约阅读时间需要 8 分钟。

前言

Django全家桶自带的分页组件只能说能满足分页这个功能,但是没那么好用就是了

Django的分页效果

django-pure-pagination分页效果

使用方法

首先安装:

pip install django-pure-pagination

添加到App

INSTALLED_APPS = (    ...    'pure_pagination',)

配置一下,配置说明如图

PAGINATION_SETTINGS = {    'PAGE_RANGE_DISPLAYED': 10,    'MARGIN_PAGES_DISPLAYED': 2,    'SHOW_FIRST_PAGE_WHEN_INVALID': True,}

视图代码例子

from django.shortcuts import renderfrom pure_pagination import Paginatorfrom .models import Videodef all_video(request):    video_list = Video.objects.all()    paginator_obj = Paginator(video_list, 10, request=request)    ctx = {        'page': paginator_obj.page(request.GET.get('page', 1)),    }    return render(request, 'video_list.html', context=ctx)

模板代码

注意这个django-pure-paginationPaginator对象和Django内置的Paginator有点不同,在用法上不同。

Django内置的Paginator本身就是迭代器了,直接for item in page就行,但是django-pure-pagination不同,得for item in page.object_list,这个区别注意一哈~

因此,django-pure-pagination需要这样遍历页面内的对象:

{% for video in page.object_list %}    {% include "widgets/video_card.html" %}{% empty %}    
{% endfor %}

分页器的HTML代码

这里最好是单独写一个paginator.html,作为Django模板组件,然后其他页面可以很方便的使用{% includ "paginator.html" %}引入

{% load i18n %}{% if page.paginator.num_pages > 1 %}    
{% endif %}

最终实现的效果

参考资料

  • 官网:

欢迎交流

程序设计实验室专注于互联网热门新技术探索与团队敏捷开发实践,在公众号「程序设计实验室」后台回复 linux、flutter、c#、netcore、android、kotlin、java、python 等可获取相关技术文章和资料,同时有任何问题都可以在公众号后台留言~

  • 博客园:
  • 打代码直播间:
  • 知乎:

转载地址:http://dmkuz.baihongyu.com/

你可能感兴趣的文章
Unity平台 | 快速集成华为性能管理服务
查看>>
对模拟器虚假设备识别能力提升15%!每日清理大师App集成系统完整性检测
查看>>
使用Power BI构建数据仓库与BI方案
查看>>
tep用户手册帮你从unittest过渡到pytest
查看>>
12张图打开JMeter体系结构全局视角
查看>>
Spring Boot 2.x基础教程:构建RESTful API与单元测试
查看>>
[UWP 自定义控件]了解模板化控件(1):基础知识
查看>>
UWP 自定义控件:了解模板化控件 系列文章
查看>>
[UWP]从头开始创建并发布一个番茄钟
查看>>
WinUI 3 Preview 3 发布了,再一次试试它的性能
查看>>
使用命令把SpringBoot项目打包成可运行的jar包(简洁,操作性强)
查看>>
List数组排序
查看>>
VMware vSphere 离线虚拟机安装 BIND 9
查看>>
dojo/request模块整体架构解析
查看>>
Javascript定时器学习笔记
查看>>
dojo的发展历史
查看>>
Python存储系统(Redis)
查看>>
C语言指针收藏
查看>>
C#搞个跨平台的桌面NES游戏模拟器
查看>>
手把手教你安装Eclipse最新版本的详细教程 (非常详细,非常实用)
查看>>