实现学生信息的展示的分页:
分页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>