Django分页

//views.py

#搜索
def gotoSerach(request):
    #获取客户端的小组名称---字符串(需要检索id)
    searchTxt=request.GET.get("searchTxt")
    #模糊查询
    group=Group.objects.filter(groupName__contains=searchTxt)
    list1=[]
    for i in group:
        #小组的所有id
        #print(i.groupId)
        #根据小组id获取小组人员
        person=PersonName.objects.filter(groupId=i.groupId)
        if person:
            #print(person)
            for i in person:
                #print(i.groupId)
                group=Group.objects.get(groupId=i.groupId)
                #print(group.groupName)
                # #组员的组id=组的名字
                i.groupId=group.groupName
                list1.append(i)

    #分页
    pageSize=3
    paginator=Paginator(list1,pageSize)
    #获取页面
    p=request.GET.get("page")
    #获取数据
    try:
        pageDatas=paginator.page(p)
    except PageNotAnInteger:
        #客户端传入的不是一个数字
        pageDatas=paginator.page(1)
    except EmptyPage:
        #客户端传入的页面越界(超额)
        pageDatas=paginator.page(paginator.num_pages)
    return render(request,'user/showUser.html',{"person":pageDatas,"searchTxt1":searchTxt})

 

//html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>显示小组人员信息</title>
</head>
<body>
    <h1>显示小组人员信息</h1>
    <form action="/gotoSerach/" method="get">
        <input type="text" name="searchTxt" required placeholder="请输入搜索的小组名称">
        <input type="submit" value="搜索">
    </form>
    <table border="1" width="200">
        <tr>
            <td>id</td>
            <td>组名</td>
            <td>姓名</td>
        </tr>
        {% for i in person %}
        <tr>
            <td>{{i.userId}}</td>
            <td>{{i.groupId}}</td>
            <td>{{i.userName}}</td>
        </tr>
        {% endfor %}
    </table>
    <!-- 分页 -->
    <div>
        {% if person.has_previous %}
            <a href="?page={{person.previous_page_number}}&searchTxt={{searchTxt1}}">上一页</a>
        {% endif %}
        {% for item in person.paginator.page_range %}
        <a href="?page={{item}}&searchTxt={{searchTxt1}}">{{item}}</a>
        {% endfor %}
        {% if person.has_next %}
            <a href="?page={{person.next_page_number}}&searchTxt={{searchTxt1}}">下一页</a>
        {% endif %}
    </div>
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值