我们看课程 机构列表页是需要分页的
为了完成分页功能,我们需要用到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也改成如下
到此分页功能已经完成,快去刷新网页看看效果吧