django分页功能

采用django自带的Paginator功能
from django.core.paginator import Paginator
food = foodInfo.objects.filter(food_name__contains=searchstr)
pag = Paginator(food, 25) #每页显示25条记录
page = 2  #请求的页码
try:
contacts = paginator.page(page)
except PageNotAnInteger:
# 请求的页码如果不是整数,返回第一页
contacts = pag.page(1)
except EmptyPage:
# 请求的页码超出最大页码数,返回最后一页
contacts = pag.page(pag.num_pages)
pagenum = foodpaginator.num_pages  #最大的页码数
 
前台显示:
{% for i in pagenum %}
{% if page == i %}
<li>{{ i }}</li>
{% else %}
<li><a href="test.html?page={{ i }}">{{ i }}</a></li>
{% endif %}
{% endfor %}
 
posted @ 2017-08-17 18:33  老和尚不念经  阅读(211)  评论(0编辑  收藏  举报