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第三方库


热门话题
socketJava加密聊天客户端未通过关联   java保存JFileChooser的状态   java如何让代码等待GUI完成?   java可序列化和接口:Parcelable在写入可序列化对象时遇到IOException   java Jersey客户端将覆盖ROBOTS响应   java空指针异常&如何克服   java如何使用JAXR设置字符集?   JavaSpring自定义转换器被覆盖   java将泛型类型的值设置为DTO字段   使用netty的java音频流服务器   java滚动条添加到面板时不显示在滚动窗格中   java windows通过IIS Url重写单点登录tomcat   Web应用程序的java容器管理安全性   java使用mybatis将POJO项数组传递到存储过程?