Django-Pagination-PY3号

django-pagination-py3的Python项目详细描述


如何使用django-pagination-py3

django-pagination-py3是Python3的django分页端口, 它允许轻松的digg样式分页,而无需修改 你的观点。

在你的项目中设置它有5个步骤(不包括 安装,在同一目录的install.txt中介绍。)

  1. 在设置的INSTALLED_APPS部分列出此应用程序 文件。您的设置文件可能类似于:

    INSTALLED_APPS = (
        # ...
        'pagination',
    )
    
  2. 安装分页中间件。你的设置文件可能看起来像 例如:

    MIDDLEWARE_CLASSES = (
        # ...
        'pagination.middleware.PaginationMiddleware',
    )
    
  3. 如果尚未在设置中添加,请添加请求上下文处理器。 注意,默认情况下上下文处理器是隐式设置的,所以要设置它们 显然,您需要将此代码复制并粘贴到 值模板上下文处理器:

    ("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")
    
  4. 在模板顶部添加此行以加载分页标记:

    {% load pagination_tags %}

  5. 决定要分页的变量,并使用 在迭代变量之前自动转移该变量上的标记。这个可以 以两种形式中的一种为例(以规范的object_list为例 变量):

    {% autopaginate object_list %}

    这假设您希望每页有默认的20个结果。 如果您想指定自己每页的结果量,可以 这样指定:

    {% autopaginate object_list 10 %}

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

  6. 现在要显示当前页和可用页,所以 在使用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 是后者。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
jframe为什么JAVA paint()方法不起作用?   java Guice:将ContainerRequestContext注入拦截器   java如何优雅地关闭Spring JMS MessageListenerAdapter   java如何在Spring中设置快照隔离级别   Java中的安卓平台独立信任存储路径   java无法在eclipse中运行hello world程序   java Sinch空指针问题   使用Java将JSON流式传输到BigQuery   java从“大数据”中选择什么Swing控件?   java通过对象字段过滤/排序集合?   java将数据从活动传递到另一个活动中的片段   java访问打包在jar文件中的文档   Java获取事件的大小。getDragboard()。getFiles()。流()。映射(文件::长度)。toString());   java Android libgdx:启动程序图标按下后,启动屏幕不会立即显示   java如何在Google App Engine灵活环境中配置oracle jdk   java有没有办法减少这些行?   Java:客户端socket不读取第二行,在终止符行之后保持打开状态   java以编程方式获取api 29上的所有APK文件   java ActionBar按钮不显示