13django实战第13天:分页列表功能

何波安的博客 何波安的博客     2022-10-21     631

关键词:

我们看课程 机构列表页是需要分页的

为了完成分页功能,我们需要用到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也改成如下

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

15django实战第15天:我要学习咨询

今天完成的是课程机构列表页面的最后一个模块:我要学习我们在models中创建对应的表时UserAsk。之前我们讲过:在做表单的时候,我们可以通过forms先对提交的数据做一次 查看详情

17django实战第17天:机构详情展示

1、进入xadmin添加测试数据(教师、课程)2、把以下4个前端页面复制到templates中先打开这几个页面分析,它们和之前的课程机构列表页是不一样的机构,且没有共同的部分,但是这4个页面却是类似的  查看详情

django第13天(auth组件,forms组件)(代码片段)

django第13天(auth组件,forms组件)auth组件-auth组件-auth是什么?-django内置的用户认证系统,可以快速的实现,登录,注销,修改密码....-怎么用?-(1)先创建超级用户:-python3manage.pycreatesuperuser-输入用户名,邮箱(可以不输入),密码,敲回车,这样就创... 查看详情

22django实战第22天:课程评论

1、编辑course-comment.html2、编辑courses.views.pyclassCourseCommentView(LoginRequiredMixin,View):defget(self,request,course_id):course=Course.objects.get(id=course_id)returnrender(request,‘course-comment.ht 查看详情

13.django之分页(代码片段)

目录一、手动分页二、封装后的三、django自带的分页器一、手动分页django从ciew向template传递HTML字符串的时候,django默认不渲染此HTML,为了防止这串字符串里有恶意攻击的代码,所以要使用mark_safe函数fromdjango.utils.safestringimportmark... 查看详情

深度学习----------打卡第13天

查看详情

29django实战第29天:修改密码和头像

修改头像1、上传头像,我们需要的对它做一个forms验证,编辑users.forms.py...from.modelsimportUserProfileclassUploadImageForm(forms.ModelForm):classMeta:model=UserProfilefields=[‘image‘]2、编辑users.views.pyclassUploadImageView(Logi 查看详情

26django实战第26天:配置全局导航

1、编辑index.html,继承base.html2、编辑base.html,根据是否登录不同显示 问题:当我们选中一个导航,选中样式并没有成为选中的状态因此我们编辑base.html对导航中进行判断 然后我们可以用同样的方式来判断授课讲师我们先... 查看详情

30django实战第30天:修改邮箱和用户信息

修改个人邮箱需要完成两个接口,一个是获取验证码,一个是新的邮箱和验证码是否匹配1、编辑users.views.pyclassSendEmailCodeView(LoginRequiredMixin,View):defget(self,request):email=request.GET.get(‘email‘,‘‘)ifUserProfile.objects.filter(email=email) 查看详情

28django实战第28天:个人信息展示

从今天开始,我来完成个人中心部分,前端页面如下1、浏览这些页面可以发现,它们和base.html是有区别的,因此,它们需要新建一个模板usercenter-base.html2、把usercenter-info.html的内容拷贝到usercenter-base.html,用block把会不同的部分... 查看详情

tw实习日记:第13天(代码片段)

...于获得数据,调用方法B时将处理点集合的方法C放入参数列表。需要循环n次获得n+1组两点之间的点集合,因为种种原因获取的点集合和搜 查看详情

flask实战第60天:帖子分页技术实现(代码片段)

编辑manage.py,添加测试帖子@manager.commanddefcreate_test_post():forxinrange(1,100):title=‘标题‘.format(x)content=‘内容:‘.format(x)board=BoardModel.query.first()author=FrontUser.query.first()post=PostModel(tit 查看详情

第13天第12天constraintspriority

1.Constraintspriority将evInputView的高度约束的priority设为750,evInputView的inputTextView如果不设高度约束,那么高度就是defaultInputViewH,如果设了高度,那么就是这个高度.      evInputView.snp.remakeConstraints{(ma 查看详情

13.django(单表操作:增简单查询删改补天字段问题)

单表操作—增再次明确orm与mysql的对应关系orm          mysql类           表类中的属性      查看详情

13_java面向对象_第13天(staticfinal匿名对象内部类包修饰符代码块)_讲义

...类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写。可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决呢?要解决上述的这些问题,需要使用到一 查看详情

oracle学习第13天

一、约束:先跳过,MsSQL里也不怎么用了 二、视图:这个还是比较有用的,特别是和其它公司合作时,经常是互相提供视图1、创建视图:CREATEORREPLACEVIEWXXASSELECT*FROMXXX;用【ORREPLACE】比较方便更新默认SCOTT用户没有创建视图权... 查看详情

第13月第25天ios11uitableviewreloaddatacontentsize

1.          [tableViewreloadData];        dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(0.1*NSEC_PE 查看详情

scala实战高手****第13课scala模式匹配实战和spark源码鉴赏

packagecom.dt.spark.scala.bascisclassDataframeworkcaseclassComputerframework(name:String,popular:Boolean)extendsDataframeworkcaseclassStorgeframework(name:String,popular:Boolean)extendsDataframeworkob 查看详情