Django-Pagination-PY3号
django-pagination-py3的Python项目详细描述
如何使用django-pagination-py3
django-pagination-py3是Python3的django分页端口, 它允许轻松的digg样式分页,而无需修改 你的观点。
在你的项目中设置它有5个步骤(不包括 安装,在同一目录的install.txt中介绍。)
在设置的INSTALLED_APPS部分列出此应用程序 文件。您的设置文件可能类似于:
INSTALLED_APPS = ( # ... 'pagination', )
安装分页中间件。你的设置文件可能看起来像 例如:
MIDDLEWARE_CLASSES = ( # ... 'pagination.middleware.PaginationMiddleware', )
如果尚未在设置中添加,请添加请求上下文处理器。 注意,默认情况下上下文处理器是隐式设置的,所以要设置它们 显然,您需要将此代码复制并粘贴到 值模板上下文处理器:
("django.core.context_processors.auth", "django.core.context_processors.debug", "django.core.context_processors.i18n", "django.core.context_processors.media", "django.core.context_processors.request")
在模板顶部添加此行以加载分页标记:
{% load pagination_tags %}
决定要分页的变量,并使用 在迭代变量之前自动转移该变量上的标记。这个可以 以两种形式中的一种为例(以规范的object_list为例 变量):
{% autopaginate object_list %}
这假设您希望每页有默认的20个结果。 如果您想指定自己每页的结果量,可以 这样指定:
{% autopaginate object_list 10 %}
注意,这将用当前页的列表替换object_list,因此 您可以像平常一样遍历object_list。
现在要显示当前页和可用页,所以 在使用autopaginate之后的某个地方,使用paginate包含标记:
{% paginate %}
这不需要任何论据,但假设您已经 称为自动转移,所以一定要先这样做。
就这样!您现在已经对object_list进行了分页,并为该站点的用户提供了 一种在不同页面之间导航的方法-所有这些都不需要触摸您的视图。
可选设置
在django分页中,没有必需的设置。然而,有一个 用于更改 分页标记。以下是概述:
- PAGINATION_DEFAULT_PAGINATION
- 如果未指定编号,则显示在页面上的默认项目数。
- PAGINATION_DEFAULT_WINDOW
- 当前页左右的项目数 显示(表示省略号)。
- PAGINATION_DEFAULT_ORPHANS
允许的孤儿数。根据Django的文件, 孤儿定义为:
The minimum number of items allowed on the last page, defaults to zero.
- PAGINATION_INVALID_PAGE_RAISES_404
- 确定无效页是否引发Http404,或仅设置 invalid_page上下文变量。True执行前者和False 是后者。