Paginator 数据分页工具
page 具体的某一页面
对象创建,Paginator(数据集,每一页的数据页)
属性:
count 对象总数
num_pages 页面总数
page_range 页码列表,从1开始
方法:
page(整数):获得一个page对象
1,视图函数
# 分页
# 传进来的参数都会被当做字符串处理
def getUsers(request, pageNumber):
user = UserModel.objects.all()
# 每页显示5个
paginator = Paginator(user, 5)
# 获取总页
pagecount = paginator.page_range
# 获取第几页
page = paginator.page(pageNumber)
return render(request, 'myapp/user.html', context={'user': page, "pagecount": pagecount, "pageNumber": page.number})
2,配置路径
url(r'^getusers/(\d+)/',views.getUsers,name='getUsers'),
3,HTML页面
<style>
.page_number{
width: 30px;
height: 30px;
text-align: center;
line-height: 30px;
border: 1px solid black;
float: left;
}
.page_selected {
border: 1px solid white;
}
</style>
<ul>
{% for user in user.object_list %}
<li>{{ user.u_name }}</li>
{% endfor %}
</ul>
<ul>
<div id = 'indicator'>
{% for p in pagecount %}
{% ifequal p pageNumber %}
<a href="{% url 'myapp:getUsers' p %}"><div class = 'page_number page_selected' >{{ p }}</div></a>
{% else %}
<a href="{% url 'myapp:getUsers' p %}"><div class="page_number" >{{ p }}</div></a>
{% endifequal %}
{% endfor %}
</div>
</ul>