django-pure-pagination实现分页

本文介绍了如何在Django项目中使用django-pure-pagination库进行高效分页操作,包括安装步骤和基本用法,强调了在获取分页数据时需调用.object_list。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装

[AppleScript] 纯文本查看 复制代码
?
1
pip install django-pure-pagination


用法:

[Python] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class OrgView(View):
    """
        课程机构列表功能
    """
 
    def get(self, request):
 
        all_orgs = CourseOrg.objects.all()  # 课程机构
        org_nums = all_orgs.count()  # 记录多少家
        # 城市
        all_citys = CityDict.objects.all()
 
        # 课程机构进行分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1
        p = Paginator(all_orgs, 5, request=request)
        orgs = p.page(page)
 
        return render(request, 'org-list.html', {
            "all_orgs": orgs,
            "all_citys": all_citys,
            'org_nums': org_nums,
        })



分页:

[HTML] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
{  # 分页#}
< div
 
 
class ="pageturn" >
 
< ul
 
 
class ="pagelist" >
 
 
{  # 如果有,获取上一页 #}
    { % if all_orgs.has_previous %}
< li
 
 
class ="long" > < a href="?{{ all_orgs.previous_page_number.querystring }}"
 
 
class ="page" > 上一页 < / a > < / li >
 
 
{ % endif %}
 
{  # 判断剩余页面的显示方法: #}
    { % for page in all_orgs.pages %}
 
{ % if page %}
 
{  # 判断page和 all_orgs.number是否相等 : }
    { % ifequal
page
all_orgs.number %}
< li
 
 
class ="active" > < a href="?{{ page.querystring }}" > {{page}} < / a > < / li >
 
 
{ % else %}
< li > < a
href = "?{{ page.querystring }}"
 
 
class ="page" > {{page}} < / a > < / li >
 
 
{ % endifequal %}
{ % else %}
< li
 
 
class ="none" > < a href="" >...< / a > < / li >
 
 
{ % endif %}
{ % endfor %}
 
{  # 如果有,获取下一页 #}
    { % if all_orgs.has_next %}
< li class ="long" > < a href="?{{ all_orgs.next_page_number.querystring }}" > 下一页 < / a > < / li >



总结
切记:做分页获取数据要调用 .object_list{% for course_org in all_orgs.object_list %}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值