跳转到主要内容

使用Bootstrap布局轻松在Django中添加分页。

项目描述

需要维护者:此项目已完成,但未经进一步通知将不会更新。如果您有兴趣改进它,请通过创建 这里的问题 与我联系。

PyPI Python Version License

Tests Codecov

Black pre-commit

Django-pagination-bootstrap是一个应用,用于在Django中轻松添加分页,使用Bootstrap的布局。

注意:此库目前与Python 3.6+、Django 2.0+和Bootstrap 3+兼容。

安装

要安装django-pagination-bootstrap,只需运行

pip install django-pagination-bootstrap

配置

我们需要将django-pagination-bootstrap钩接到我们的项目中。

  1. django-pagination-bootstrap放入设置模块的INSTALLED_APPS

INSTALLED_APPS = (
    # other apps
    "django_pagination_bootstrap",
)
  1. 安装分页中间件。您的设置文件可能看起来像这样

MIDDLEWARE_CLASSES = (
    # other middleware
    "django_pagination_bootstrap.middleware.PaginationMiddleware",
)
  1. 请确保在settings.py上有django.template.context_processors.request

TEMPLATES = [
    {
        # ...
        "OPTIONS": {
            "context_processors": [
                # ...
                "django.template.context_processors.request"
                # ...
            ],
        },
    },
]
  1. 在模板顶部添加此行以加载分页标签

{% load pagination_tags %}
  1. 确定您想要分页的变量,并在迭代它之前在该变量上使用 autopaginate 标签。这可以有两种形式(以 canonical object_list 为例)

{% autopaginate object_list %}

这假设您想要默认每页20个结果。如果您想指定自己每页的结果数量,可以像这样指定

{% autopaginate object_list 10 %}

注意,这将用当前页面的列表替换 object_list,因此您可以像平常一样迭代 object_list。

  1. 现在您想要显示当前页和可用的页面,所以在使用 autopaginate 之后某个位置。如果您正在使用 Bootstrap 3,请使用分页包含标签

{% paginate %}

此标签不接收任何参数,但假设您已经调用了 autopaginate,因此请确保首先这样做。

这就完成了!您现在已经分页了 object_list,并为网站的用户提供了在不同页面之间导航的方法 - 而且无需修改视图。

副作用

django-paginator 实例注入到模板上下文中,作为 paginator。您可以像平常一样访问它

page {{ page }} of {{ paginator.num_pages }}

可选设置

在 django-pagination 中,没有必需的设置。然而,有一组可选设置,用于更改分页标签的默认行为。以下是概述

  • PAGINATION_DEFAULT_PAGINATION

如果没有指定数字,则在页面上显示默认项目数量。

  • PAGINATION_DEFAULT_WINDOW

显示当前页面左侧和右侧的项目数量(考虑省略号)。

  • PAGINATION_DEFAULT_ORPHANS

允许的孤儿数量。根据 Django 文档,孤儿定义为

最后一页允许的最小项目数量,默认为零。

  • PAGINATION_INVALID_PAGE_RAISES_404

确定无效的页面是否引发 Http404 或仅设置 invalid_page 上下文变量。True 执行前者,False 执行后者。

鸣谢

这是基于 Eric Florenzano 的 django-pagination 1.0.7,并且是 Django 1.7 或更高版本的 https://github.com/tgdn/django-bootstrap-pagination 的更新版本。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源码分发

django_pagination_bootstrap-2.4.6.tar.gz (12.1 kB 查看散列值)

上传时间 源码

构建分发

django_pagination_bootstrap-2.4.6-py3-none-any.whl (11.2 kB 查看散列值)

上传时间 Python 3

支持