`
xiaolin0199
  • 浏览: 573248 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

[转]django-pagination简单使用

阅读更多

我只能說, django-pagination 真是一個好物。

雖然說 django 本身提供的 pagination 就已經很不錯用了, 可是在使用上還是稍嫌多餘了些, 得在 view 重複的打上那一段 code, 而 template 那邊也是, 除非就是自己寫 template tag 來處理。

django 原本提供的 pagination, 在寫 view 的時候大概像是這樣: (直接拿 django 的 example)

 

from django.core.paginator import Paginator, InvalidPage, EmptyPage

def listing(request):
    contact_list = Contacts.objects.all()
    paginator = Paginator(contact_list, 25)

    try:
        page = int(request.GET.get('page', '1'))
    except ValueError:
        page = 1

    try:
        contacts = paginator.page(page)
    except (EmptyPage, InvalidPage):
        contacts = paginator.page(paginator.num_pages)

    return render_to_response('list.html', {"contacts": contacts})

 

而如果使用 django-pagination 的話, 看到 view 就真的是會笑出來了 XD

 
def listing(request):
    contacts = Contacts.objects.all()
    return render_to_response('list.html', {"contacts": contacts})

 

就這樣! 而且還不用 import Paginator。

基本上 django-pagination 的處理動作都在 template 那邊, 看起來大概像是這樣

 
{% load pagination_tags %} # 載入 template tag

{% autopaginate contacts 10 %} # 加上這一行處理分頁
{% for contact in contacts %}
 {{ contact.name }}
{% endfor %}

{% paginate %} # 秀出分頁

 

That’s all! :D

比照一下 django 內建的 pagination, 就可以明顯比較出 template 之間差別了, django-pagination 真是超令人開心的一個套件阿, 而且作者還提供了一個 screencast

真的是太貼心了阿~

分享到:
评论

相关推荐

    Django-pagination-master

    Django-pagination为Django开发者提供了便捷的分页解决方案,通过简单的配置和调用即可实现高效的数据分页。结合良好的前端设计,可以为用户提供流畅的浏览体验,同时减轻服务器负载。在实际开发中,要根据项目规模...

    django-pagination-bootstrap:Django-pagination-bootstrap是一个使用Bootstrap布局轻松在Django中添加分页的应用程序

    Django-pagination-bootstrap是一个使用布局轻松在添加分页的应用程序。 注意:该库当前可用于Python 3.6 +,Django 2.0+和Bootstrap 3+。 对于较旧的版本,请使用版本1.3.0。 安装 要安装django-pagination-...

    Python库 | django-endless-pagination-vue-1.2.tar.gz

    要使用`django-endless-pagination-vue-1.2`,首先需要确保已经安装了Django和Vue.js。然后,可以通过pip安装这个库: ```bash pip install django-endless-pagination-vue ``` 接着,在Django项目中配置相关设置,...

    PyPI 官网下载 | django-cool-pagination-0.2.2.tar.gz

    资源来自pypi官网。 资源全名:django-cool-pagination-0.2.2.tar.gz

    PyPI 官网下载 | django-simple-pagination-1.1.3.tar.gz

    总的来说,`django-simple-pagination-1.1.3.tar.gz`这个资源提供了一个高效且易于使用的工具,帮助Django开发者快速实现在网页上展示大量数据的分页功能。通过简单的配置和调用,即可让Web应用变得更加用户友好,...

    Python库 | django-keyset-pagination-plus-0.9.9.tar.gz

    标题中的“django-keyset-pagination-plus-0.9.9.tar.gz”揭示了这是一个与Python相关的库,特别是针对Django框架的。Django是Python的一种流行Web开发框架,它提供了丰富的功能,包括数据库交互、模板系统、表单...

    Python库 | django-cursor-pagination-0.1.5.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:django-cursor-pagination-0.1.5.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    django-bootstrap-pagination:Django模板标记,用于将Page对象呈现为Bootstrap分页HTML

    Django Bootstrap分页引导程序兼容性版本号引导版本笔记<1> 1.1.0,<1> = 1.7.0 3.x,4.x bootstrap_pager仅与Bootstrap 3.x兼容该应用程序用于使使用Twitter的Bootstrap分页样式与Django Page对象无缝配合。...

    django-endless-pagination:该项目已弃用

    从现在开始,请使用像这样的强大分支之一Django Endless Pagination可用于提供Twitter样式或Digg样式的分页,并具有可选的Ajax支持和其他功能,例如多重或惰性分页。 指导该应用程序开发的最初思想是,允许在对Web...

    django-infinite-scroll-pagination:基于查找方法键集分页的无偏移分页

    无限滚动分页 infinite-scroll-pagination是Django的一个库,它实现可扩展的分页(AKA键集分页或光标分页)。 请注意,尽管有这个库的名称,它仍可以用作常规的分页器,更好的名称应该是seek-paginator , keyset-...

    django资产管理系统

    运维自动化项目 减少人工干预,降低人员成本 ...django-pagination 1.0.7 django-photologue 2.3 django-solo 1.0.5 djangorestframework 3.8.2 Markdown 2.6.11 orm-choices 1.0.0 Pillow 2.5.1 <pip>

    PyPI 官网下载 | django_pagination_bootstrap-2.0.1-py3-none-any.whl

    8. **安装与使用**: 要在Django项目中使用`django_pagination_bootstrap`,首先需要确保已安装Django和Bootstrap,然后通过`pip`命令安装这个`.whl`文件,最后在Django的设置文件中配置并导入到项目中。 9. **前端...

    django-cursor-pagination:基于光标的Django查询集的分页和迭代

    Django光标分页 您的项目描述在这里文献资料完整的文档位于 。快速开始安装django-cursor-pagination: pip install django-cursor-pagination然后在项目中使用它: import cursor_pagination特征去做

    基于Django-REST-Framework框架打造前后端彻底分离项目实战.zip

    Django-REST-Framework是一个为Django设计的高级Web API框架,它使得开发高质量、RESTful风格的Web服务变得简单易行。 1. Django-REST-Framework简介: Django-REST-Framework(DRF)是Python和Django生态系统中的...

    Django docs-1.11-en

    - **Pagination (分页)**: 介绍了 Django 分页处理的方法。 - **Porting to Python 3 (移植到 Python 3)**: 讲解了如何将应用从 Python 2 迁移到 Python 3。 - **Security in Django (Django 中的安全性)**: 介绍了 ...

    django博客系统

    主页: 展示最新文章 展示最热文章 ...django-pagination 1.0.7 django-photologue 2.3 django-solo 1.0.5 djangorestframework 3.8.2 Markdown 2.6.11 orm-choices 1.0.0 Pillow 2.5.1 <pip>

    dj-pagination:Django +分页变得容易

    顶级软件包名称已从pagination更改为linaro_django_pagination更改为dj_pagination 。 按照Linaro模式,我这样做是为了确保原始软件包的现有用户可以按照自己的意愿轻松过渡。 由于这两个软件包都是可共同

    Django分页器代码

    总之,Django分页器是处理大量数据的有效工具,`django-pure-pagination`作为Django的一个第三方库,提供了一种简单易用的方式来实现分页功能。通过以上步骤,你可以快速地在你的Django项目中集成并使用这个库,提升...

    django-papination

    `django-paginate`是针对Django框架的一个强大且易用的分页插件,它使得在HTML页面中实现分页变得简单快捷。 **一、Django框架简介** Django是用Python编写的高级Web框架,它遵循“DRY”(Don't Repeat Yourself)...

    django-fast-pagination:Django Fast Paginator-大型数据库的更快查询

    适用于Django的快速分页器 对大型数据库表进行简单,快速的分页。 特征 简单整合 FastPaginator API与Django的内置分页库兼容。 只需要更改导入语句,就可以了。 更好SQL查询 Django的内置分页系统可构建具有offset...

Global site tag (gtag.js) - Google Analytics