我已经在我的应用程序中实现了django-pagination来处理分页,这一切都很好。有一件事我搞不懂,那就是如何让用户为每页的记录选择一个特定值,例如15、30、45、60、100或所有记录。
做这个的正确方法是什么?
发布于 2009-12-11 23:45:01
在构造分页器时,传入每页的记录数。您需要从用户那里获得这个值,存储它,然后传递它。
例如,它可以是一个用户设置--如果是这样的话,将它添加到您的用户设置Model中,在表单中收集它,存储它,然后在创建分页器之前从db获取Model并传递它。
或者,它可以只是一个从页面上的元素设置的会话变量--同样,将元素放在页面上,使用它来设置会话变量,并将其传递给Paginator对象。
看起来这个问题已经涉及到了:
编辑:阅读评论。
如果你读了源代码,
http://code.google.com/p/django-pagination/source/browse/trunk/pagination/templatetags/pagination_tags.py
自动分页标记接受一个数字或一个模板变量。
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。
https://stackoverflow.com/questions/1888889
复制相似问题