Django框架实现的简单分页功能示例
本文实例讲述了Django框架实现的简单分页功能。分享给大家供大家参考,具体如下:
前面一篇《Django开发的简易留言板》写了个简单的留言板,如果数据量太多的话在一页显示就不那么友好了,本文就是做一个分页显示。
代码在上一篇的基础上修改。
导入分页模块并修改views
#只需修改index函数即可 fromdjango.core.paginatorimportPaginator defindex(request): messages=models.Message.objects.all()#获取全部数据 limit=10 paginator=Paginator(messages,limit)#按每页10条分页 page=request.GET.get('page','1')#默认跳转到第一页 result=paginator.page(page) returnrender(request,'guestbook/index.html',{'messages':result})
修改html
留言板 {%ifmessages%} {%formessageinmessages%} 留言时间 留言者 标题 内容 {{message.publish|date:'Y-m-dH:i:s'}} {{message.username}} {{message.title}} {{message.content}} {%endfor%} {%else%}{%endif%} 无数据 {%ifmessages.has_previous%} 首页 {%endif%} {%fornuminmessages.paginator.page_range%} 上一页 {%endfor%} {%ifmessages.has_next%} {{num}} {%endif%} 下一页 尾页 去留言
其实主要使用了Django自带的Paginator模块,关于这个模块大家可以自己去官方文档查看,功能还是挺强大的,如果配合ListView的话,三行代码就可以实现分页功能。
希望本文所述对大家基于Django框架的Python程序设计有所帮助。