使用Bootstrap布局轻松在Django中添加分页。
项目描述
需要维护者:此项目已完成,但未经进一步通知将不会更新。如果您有兴趣改进它,请通过创建 这里的问题 与我联系。
Django-pagination-bootstrap是一个应用,用于在Django中轻松添加分页,使用Bootstrap的布局。
注意:此库目前与Python 3.6+、Django 2.0+和Bootstrap 3+兼容。
安装
要安装django-pagination-bootstrap,只需运行
pip install django-pagination-bootstrap
配置
我们需要将django-pagination-bootstrap钩接到我们的项目中。
将django-pagination-bootstrap放入设置模块的INSTALLED_APPS
INSTALLED_APPS = (
# other apps
"django_pagination_bootstrap",
)
安装分页中间件。您的设置文件可能看起来像这样
MIDDLEWARE_CLASSES = (
# other middleware
"django_pagination_bootstrap.middleware.PaginationMiddleware",
)
请确保在settings.py上有django.template.context_processors.request
TEMPLATES = [
{
# ...
"OPTIONS": {
"context_processors": [
# ...
"django.template.context_processors.request"
# ...
],
},
},
]
在模板顶部添加此行以加载分页标签
{% load pagination_tags %}
确定您想要分页的变量,并在迭代它之前在该变量上使用 autopaginate 标签。这可以有两种形式(以 canonical object_list 为例)
{% autopaginate object_list %}
这假设您想要默认每页20个结果。如果您想指定自己每页的结果数量,可以像这样指定
{% autopaginate object_list 10 %}
注意,这将用当前页面的列表替换 object_list,因此您可以像平常一样迭代 object_list。
现在您想要显示当前页和可用的页面,所以在使用 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的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | ffa9ee61d28a42a74ca759b2c2971f9fdf373a895725a93fd2bb51bc8a119a1b |
|
MD5 | 96c8a898875285d784a159ab670e4c90 |
|
BLAKE2b-256 | a6d81bebb3e8a06d075dba6ce2ecfd20b6607be2e98b216feb314f2998ad80d5 |
django_pagination_bootstrap-2.4.6-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 7307717a44ecfc24cc94699be2afaf175f058c312b31b07a34b71f660d0df57f |
|
MD5 | 8c97297502910ce1a9448ab538290bf5 |
|
BLAKE2b-256 | 0671aed8b6a8f1bc2b2eab03baab521bd5070c55a032adcf7bc67dc954d783e7 |