django的无限分页。

django-infinite-pagination-mega的Python项目详细描述


对于django 1.4来说,这是一个非常简单的助手,它只做一件事:高效 在使用标准django的系统上分页大型对象集合 paginator不实际,因为有意义的count(*)查询 开销(即PostgreSQL)。

在引擎盖下,它使用一个查询来检索当前页面的对象 并检查连续页面的可用性。

InfinitePaginator是django的替代品 django.core.paginator.Paginator

快速启动

在需求文件中包含django-infinite-pagination。 (或pip install django-infinite-pagination)并添加infinite_paginationINSTALLED APPS

然后将基于ListView的视图的paginator_class属性设置为 InfinitePaginator并指定paginate_by属性:

class ArticleListView(ListView):
    model = Article
    paginate_by = 10
    paginator_class = InfinitePaginator

要在模板中显示分页链接,请加载infinite_pagination 模板标记并将{% paginate %}放在您想要的位置 要显示的分页链接:

{% load infinite_pagination %}

{% for object in object_list %}
    {{ object }}
{% endfor %}

{% paginate %}

一个通用的pagination/infinite_pagination.html模板,可以很好地与 这个应用程序提供了twitter引导样式表。调整它以适应 要求。

在模板中分页

有时无法修改应用程序视图,并且分页只能 在模板级别完成。提供了autopaginate模板标记 作为对模板内的对象列表应用分页的最后手段:

{% load infinite_pagination %}

{% autopaginate object_list per_page=10 as paginated_list %}

{% for object in paginated_list %}
    {{ object }}
{% endfor %}

{% paginate %}

autopaginate标记接受一个queryset和每页的许多项 作为输入并返回用于在模板中显示的页片。当前页 从模板上下文或pagerequest get params检索数字。 它也可以指定为可选的标记参数:

{% autopaginate object_list per_page=10 page=2 as paginated_list %}

标记还设置paginatorpage_obj模板上下文变量 使用它们呈现导航链接的paginate标记。

许可证

django无限分页是根据bsd许可证发布的。

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

推荐PyPI第三方库


热门话题
java置换相关算法   在Java中读取/打开文本文件   java为什么这段代码不适用于CodeEval?   java如何将日历转换为JSON   从txt文件中读取字符串并将其存储到java中的字符数组中   字符编码Java ResourceBundles umlauts搞砸了   java为什么hashmap会根据总大小而不是填充的存储桶调整大小   java如何将Excel单元格中的数字字符串读取为字符串(而不是数字)?   java Guava的LocalCache无法使用,为什么?   java有没有办法强制JVM在单个处理器或内核上运行   java Eclipse不安装软件   将字节转换为java字符串(可能是汉字)   Java正则表达式:提取函数名   JavaTestNG:如何从多个类中指定测试方法顺序?