我想实现分页,以便用户可以选择每页的记录数,例如 10、25、50 等。我应该如何处理?是否有一个应用程序可以添加到我的项目中来执行此操作?
Thanks
Django 在核心中内置了一个 Paginator 对象。这是一个使用起来相当简单的 API。实例化一个Paginator
具有两个参数的类:列表和每“页”的条目数。我将在底部粘贴一些示例代码。
在您的情况下,您希望允许用户选择每页计数。您可以将每页计数设为 URL 的一部分(即 your/page/10/),也可以将其设为查询字符串(即 your/page/?p=10)。
就像是...
# Assuming you're reading the Query String value ?p=
try:
per_page = int(request.REQUEST['p'])
except:
per_page = 25 # default value
paginator = Paginator(objects, per_page)
以下是来自 Django 文档页面的分页器的一些示例代码,可以更好地了解它的工作原理。
>>> from django.core.paginator import Paginator
>>> objects = ['john', 'paul', 'george', 'ringo']
>>> p = Paginator(objects, 2)
>>> p.count
4
>>> p.num_pages
2
>>> p.page_range
[1, 2]
>>> page1 = p.page(1)
>>> page1
<Page 1 of 2>
>>> page1.object_list
['john', 'paul']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)