• 13、Django实战第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也改成如下

    到此分页功能已经完成,快去刷新网页看看效果吧

  • 相关阅读:
    WPF 常用path示例
    Grid之 Gridlength 解析
    Binding Relative 示例
    Grid之 好玩的GridSplitter
    Blend 制作水晶按钮
    DockPanel—最守规矩布局控件
    万恶之源python介绍
    04.基本数据类型(list,tuple)
    02.万恶之源python 运算符和编码
    基本数据类型(int, bool, str)
  • 原文地址:https://www.cnblogs.com/sellsa/p/8482369.html
Copyright © 2020-2023  润新知