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天:分页列表功能的主要内容,如果未能解决你的问题,请参考以下文章

24Django实战第24天:讲师列表页

django第13天(auth组件,forms组件)

Python代码阅读(第13篇):检测列表中的元素是否都一样

13.django之分页

100天精通Oracle-实战系列(第13天)挂载 NFS 远程目录备份 Oracle 数据库

6Django实战第6天:用户登录