django中分页的实现

  1. 安装django插件
pip install dj_pagination
  1. 在settings.py中配置
INSTALLED_APPS = [
    'dj_pagination'
]
MIDDLEWARE = [
  ....
'dj_pagination.middleware.PaginationMiddleware',
]

  1. 加载分页标签
  {% load pagination_tags %}


{% autopaginate gs_list 2 %}
# 在需要分页的遍历式子上加上 自动分页以及每页的个数
{% for gs in gs_list %}

最后在需要展示分页的地方输入
  {% paginate %}
  1. 美化分页标签
    把E:\python\Scripts\myblog\Lib\site-packages\dj_pagination\templates\pagination文件下的pagination.html更改为以下内容即可
{% if is_paginated %}
{% load i18n %}

{% endif %}



最后是dj-pagination中setting中的可选事项修改,位置在Lib\site-packages\dj_pagination

在dj-pagination中,没有必需的设置。但是,有一小组可选设置可用于更改分页标记的默认行为。这是一个概述:

PAGINATION_DEFAULT_PAGINATION

如果未指定编号,则在页面上显示的默认项目数。默认为20

PAGINATION_DEFAULT_WINDOW

要显示的当前页面左侧和右侧的项目数(占省略号)。默认为4。#感觉改为2或3的效果会更好一点

PAGINATION_DEFAULT_MARGIN

FIXME:这需要记录在案。

PAGINATION_DEFAULT_ORPHANS

被定义为“最后一页允许的最小项目数,默认为零”。

PAGINATION_INVALID_PAGE_RAISES_404

确定无效页面是否引发Http404或仅设置 invalid_page上下文变量。 True是前者还是False 后者。默认为False

PAGINATION_DISPLAY_PAGE_LINKS

如果设置为False,则不会显示单个页面的链接。默认为True。

PAGINATION_PREVIOUS_LINK_DECORATOR

上一页链接的HTML前缀; 默认值是‹‹。

PAGINATION_NEXT_LINK_DECORATOR

用于下一页链接的HTML后缀; 默认值是››。

PAGINATION_DISPLAY_DISABLED_PREVIOUS_LINK

如果设置为False,如果没有上一页,则不会显示上一页链接。默认为False。

PAGINATION_DISPLAY_DISABLED_NEXT_LINK

如果设置为False,如果没有下一页,则不会显示下一页链接。默认为False。

PAGINATION_DISABLE_LINK_FOR_FIRST_PAGE

如果设置为False,则第一页将?page=1显示分页中的链接后缀,否则将被省略。默认为True。

你可能感兴趣的:(django中分页的实现)