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 Intellij通过方法中的包查找用法   java中VS代码和打包命名的问题   将java CMS功能集成到具有高度动态内容的网站(Lucene/Mysql/Nosql)的策略   oracle的java类强制转换异常。jdbc。驾驶员OracleConnection   字节码向JVM添加上指令   如何在抽象类中执行java方法?   java是否可以在apache访问日志中排除指定的GET参数?(作者:W7开发环境)   java如何获取已安装音频播放器的列表?   尝试向HS学生展示如何使用Java访问MS数据库   使用正则表达式java对给定行中的特定字符串进行计数   java JOOQ Select查询中的Select计数   方法Java,如何从二维双精度数组中找到特定值?   获取图像URL的java正则表达式   java在切换到新的窗口驱动程序后找不到元素