django的无限分页。

django-infinite-pagination的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如何在Extjs的不同页面中使用相同的存储   java Jung,大顶点的布局重叠,图形出现在奇怪的位置   java如何在Android中通过画布绘制圆?   java验证库设计模式选择   java研磨机未知标记“timedTests”   java Android领域子类实例方法   java使用resteasy/jaxrs从请求负载接收两种类型的数据   缓冲策略Java缓冲策略有时不能正确绘制   java跟踪棋子   密度无关像素如何在java中锐化图像缩略图?   java如何在MongoDB更新查询中编写(或)更新   java A*寻路游戏系统退出问题   java在安卓中读取xml的最佳方式是什么?   通过反射调用的方法的java抑制警告   安卓 java。语言错误:信号11(SIGSEGV),代码10(?),故障地址006e006f   java lombok 1.18.2使用DexBuilderForDebug抛出TransformClasses   java JOptionPane CD对话框按钮?   java只返回json中的一些值,而不是完整实体对象   java包不存在错误,请稍后重试