13Django实战第13天:分页列表功能
Posted 何波安的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了13Django实战第13天:分页列表功能相关的知识,希望对你有一定的参考价值。
我们看课程 机构列表页是需要分页的
为了完成分页功能,我们需要用到Django的一个开源开发库django-pure-pagination
workon mxonline pip install django-pure-pagination
安装完成之后,我们需要把\'pure_pagination\'加入到INSTALLED_APPS
INSTALLED_APPS = [ \'django.contrib.admin\', \'django.contrib.auth\', \'django.contrib.contenttypes\', \'django.contrib.sessions\', \'django.contrib.messages\', \'django.contrib.staticfiles\', \'users\', \'courses\', \'organization\', \'operation\', \'xadmin\', \'crispy_forms\', \'captcha\', \'pure_pagination\', ]
编辑organization.views.py,加上分页逻辑
... from pure_pagination import Paginator, PageNotAnInteger class OrgView(View): def get(self, request): #城市 all_citys = CityDict.objects.all() #课程机构 all_orgs = CourseOrg.objects.all() #机构数 org_nums = all_orgs.count() #对课程进行分页 try: page = request.GET.get(\'page\', 1) except PageNotAnInteger: page = 1 p = Paginator(all_orgs, 3, request=request) #3表示每页显示的机构数 orgs = p.page(page) return render(request, \'org-list.html\', { \'all_orgs\': orgs, \'all_citys\': all_citys, \'org_nums\': org_nums, })
后台已经改成分页了,所以前端课程机构的for循环需要改下
然后把分页的html也改成如下
到此分页功能已经完成,快去刷新网页看看效果吧
以上是关于13Django实战第13天:分页列表功能的主要内容,如果未能解决你的问题,请参考以下文章
Python代码阅读(第13篇):检测列表中的元素是否都一样