Django插件pagination实现页面分页功能

1.dj-pagination

这是一个专门分页的Django插件,可以快速的实现数据分页。
官方文档[http://dj-pagination.readthedocs.io/en/latest/usage.html#usage]

2.快速实现

    1. 安装
      pip install dj-pagination
    1. 设置
        #1. INSTALLED_APPS设置 
    
        INSTALLED_APPS = (
              # ...
             'dj_pagination',
        )
        #2. middleware设置
    
        MIDDLEWARE = (
              # ...
             'dj_pagination.middleware.PaginationMiddleware',
        )
        #Django <1.10. 是 MIDDLEWARE_CLASSES 设置选项
    
        #3. TEMPLATE_CONTEXT_PROCESSORS:
               #添加这些设置。
              ("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  %}
         # 添加要分页处理的数据
         { % autopaginate  object_list  %}
         # 每个页面默认的20个,可指定每页结果数量。
         #{ % autopaginate  object_list  10  %}
         #下面可以for循环遍历object_list 显示数据
         ......
         #5.要显示当前页面和可用页面,使用paginate包含标记
         #在循环结束后放置即可。
         { % paginate  %}
    
    
    1. 以上就可以简单实现基础分页。
    • 3.1 自定义分页模板

    /templates/paginatioin/pagination.html,是你的模板位置
    默认使用pagination/pagination.html
    {% autopaginate posts pagesize %}
    {% paginate using "/templates/paginatioin/pagination.html," %}

  • 3.2 同个模板中多次使用分页

    你可以多次使用autopaginate/paginate,需要注意的是你必须在使用paginate前使用autopaginate.

  • 3.3 其他设置

PAGINATION_INVALID_PAGE_RAISES_404
对应页码无效的页码是抛出404错误(True)还是不显示对象(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)将被忽略。默认为True。

你可能感兴趣的:(Django插件pagination实现页面分页功能)