django 实现分页(项目day51)

实现学生信息的展示的分页:

分页views方法:

def stupage(request):
    if request.method =='GET':
        #获取传过来的页数的参数
        page_id = request.Get.get('page_id',1)
        stus = Student.objects.all()
        #表示分页,对stus数据分页,两个数据为一页
        paginator = Paginator(stus,2)
        #表示第几页的数据
        page = paginator.page(page_id)
        return render(request,'index_page.html',{'stus':page})

相对应的index_page.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>所有学生信息</title>
</head>
<body>

{% for stu in stus %}
    姓名:{{ stu.s_name }}
    电话:{{ stu.s_tel }}
    地址:{{ stu.studentinfo.i_addr }}

    <br>
{% endfor %}
<h4>一共{{ stus.paginator.num_pages}}页/一共{{ stus.paginator.count }}条数据</h4>

<p>{% for i in stus.paginator.page_range %}
    <a href="/stu/stupage/?page_id={{ i }}">{{ i }}</a>
{% endfor %}
</p>

{% if stus.has_previous %}
<a href="/stu/stupage/?page_id={{ stus.previous_page_number }}">上一页</a>
{% endif %}
当前第{{ stus.number }}{% if stus.has_next %}
<a href="/stu/stupage/?page_id={{ stus.next_page_number}}">下一页</a>
{% endif %}
<p><a href="{% url 's:add' %}">添加学生</a></p>

</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_40861391/article/details/80171146