为什么 paginator (分页对象) 无法获取 (没用)
必须要先理解的几个概念
一, Paginator 分页对象 是来自于 d.get_data 函数调用产生的。
二, 一些默认变量的调用,比如 posts
, images
,其本质上也是 d.get_data
的调用产生的,默认也会自动产生一个 Paginator 对象。
三, h.paginator 是将一个 Paginator 对象转为 HTML 源码的函数,是需要接受一个 Paginator 对象作为参数,虽然多数时候不需要传参数,其前提是当前页面有且只有一个 Paginator 对象。
为什么 paginator(分页对象) 无法获取?
实际上,并不是这个分页对象没有获取,而是获得了一个错误的分页对象。
因为页面内已经产生了不止一个分页对象,而这个现象产生的原因,基本上跟 d.get_data
函数的调用有关。
1, 使用了多个 d.get_data
,并且没有传入参数 with_path=False
,那么分页对象会混乱。
2,使用了一个或多个 d.get_data
,并且没有传入参数 with_path=False
,并且也调用了比如 for psot in posts
类似的默认变量 (posts),分页对象也会混乱。
如何区分分页对象的获取?
1,在调用 d.get_data
的时候,如果没有必要产生分页的,则传入参数 with_page=False
2,在调用 d.get_data
的时候,有产生分页的必要性,则传入参数paginator_name='xxx'
,然后,后续通过 d.get_paginator('xxx')
的方式,获得准备的分页对象。
Comments