【发布时间】:2009-12-13 23:21:07
【问题描述】:
我已经在我的应用程序中实现了 django-pagination 来处理分页,这一切都很好。我不知道的一件事是如何允许用户为每页的记录选择某个值,例如15、30、45、60、100 或所有记录。
解决这个问题的正确方法是什么?
【问题讨论】:
我已经在我的应用程序中实现了 django-pagination 来处理分页,这一切都很好。我不知道的一件事是如何允许用户为每页的记录选择某个值,例如15、30、45、60、100 或所有记录。
解决这个问题的正确方法是什么?
【问题讨论】:
当你构造一个 Paginator 时,你传入每页的记录数。你需要从用户那里获取这个值,存储它,然后传入。
例如,它可能是一个用户设置——如果是这样,请将其添加到您的用户设置模型中,将其收集到一个表单中,存储它,然后在创建分页器之前从数据库中获取模型并将其传入。
或者它可能只是从页面上的元素设置的会话变量 -- 再次,将元素放在页面上,使用它来设置会话变量,并将其传递给 Paginator 对象。
看起来这个问题已经涵盖了:
编辑:阅读评论。
如果你阅读了源代码,
标签,autopaginate 接受一个数字或模板变量。
if isinstance(paginate_by, int):
self.paginate_by = paginate_by
else:
self.paginate_by = template.Variable(paginate_by)
因此,请尝试在您的视图中传入一个模板变量 'page_by':10 并使用 {% autopaginate list page_by %} -- 然后您可以从查询字符串、db 或任何您想要的内容中设置 page_by。
【讨论】: