(项目)在线教育平台(十)Sweltering

将讲师列表页面teachers-list.html拷贝到templates下。

继承base页面,重写需要block的地方:

在organization/views.py中编写讲师列表的接口:

1classTeacherListView(View):2"""讲师列表"""3defget(self,request):4#获取所有的讲师5all_teachers=Teacher.objects.all()67returnrender(request,'teachers-list.html',{8'all_teachers':all_teachers9})配置url:

from.viewsimportTeacherListViewurlpatterns=[re_path('teacher/list/',TeacherListView.as_view(),name='teacher_list'),#讲师列表]修改index.html中跳转到讲师列表页面的url:

在讲师列表页面需要显示讲师的年龄,需要在teacher的model中增加一个年龄的字段:

然后修改讲师列表页面显示讲师信息的代码:

在讲师列表接口中完善分页的逻辑:

1classTeacherListView(View):2"""讲师列表"""3defget(self,request):4#获取所有的讲师5all_teachers=Teacher.objects.all()67#统计讲师的总数8teacher_nums=all_teachers.count()910#分页11try:12page=request.GET.get('page',1)13exceptPageNotAnInteger:14page=115p=Paginator(all_teachers,5,request=request)16teachers=p.page(page)1718returnrender(request,'teachers-list.html',{19'all_teachers':teachers,20'teacher_nums':teacher_nums21})在遍历讲师的时候需要加上object_list属性,否则在分页会抛出异常:

修改前端分页显示的代码:

讲师可以根据人气进行排序,完善讲师列表接口中排序的逻辑:

1classTeacherListView(View):2"""讲师列表"""3defget(self,request):4#获取所有的讲师5all_teachers=Teacher.objects.all()67#统计讲师的总数8teacher_nums=all_teachers.count()910#排序,按点击数排序11sort=request.GET.get('sort','')12ifsort:13ifsort=='hot':14all_teachers=all_teachers.order_by('-click_nums')1516#分页17try:18page=request.GET.get('page',1)19exceptPageNotAnInteger:20page=121p=Paginator(all_teachers,5,request=request)22teachers=p.page(page)2324returnrender(request,'teachers-list.html',{25'all_teachers':teachers,26'teacher_nums':teacher_nums,27'sort':sort28})修改讲师列表页面中按人气选中的状态显示代码:

在讲师列表页面右侧有讲师排行版,完善讲师列表接口中排行榜的逻辑:

1classTeacherListView(View):2"""讲师列表"""3defget(self,request):4#获取所有的讲师5all_teachers=Teacher.objects.all()67#统计讲师的总数8teacher_nums=all_teachers.count()910#排序,按点击数排序11sort=request.GET.get('sort','')12ifsort:13ifsort=='hot':14all_teachers=all_teachers.order_by('-click_nums')1516#讲师排行版17teacher_sorted=all_teachers.order_by('-click_nums')[:3]1819#分页20try:21page=request.GET.get('page',1)22exceptPageNotAnInteger:23page=124p=Paginator(all_teachers,5,request=request)25teachers=p.page(page)2627returnrender(request,'teachers-list.html',{28'all_teachers':teachers,29'teacher_nums':teacher_nums,30'sort':sort,31'teacher_sorted':teacher_sorted32})修改讲师列表页面中显示讲师排行榜的代码:

将讲师详情页面teacher-detail.html拷贝到templates下。

1classTeacherDetailView(View):2"""讲师详情页面"""3defget(self,request,teacher_id):4#根据前端的讲师id找到对应的讲师5teacher=Teacher.objects.get(id=int(teacher_id))67#获取该老师所有的课程8all_courses=Course.objects.filter(teacher=teacher)910#讲师排行11teacher_sorted=Teacher.objects.all().order_by('-click_nums')[:3]1213returnrender(request,'teacher-detail.html',{14'teacher':teacher,15'all_courses':all_courses,16'teacher_sorted':teacher_sorted17})配置url:

1from.viewsimportTeacherDetailView23urlpatterns=[4re_path('teacher/detail/(P\d+)/',TeacherDetailView.as_view(),name='teacher_detail'),#讲师详情5]在讲师列表页面修改点击讲师跳转到讲师详情页面的url:

修改讲师详情页面信息的显示代码:

在讲师详情页面可以收藏讲师,右侧可以收藏机构,完善讲师详情接口中收藏的判断逻辑:

1classTeacherDetailView(View):2"""讲师详情页面"""3defget(self,request,teacher_id):4#根据前端的讲师id找到对应的讲师5teacher=Teacher.objects.get(id=int(teacher_id))67#获取该老师所有的课程8all_courses=Course.objects.filter(teacher=teacher)910#讲师排行11teacher_sorted=Teacher.objects.all().order_by('-click_nums')[:3]1213#讲师收藏、机构收藏14has_teahcer_faved=False15ifUserFavorite.objects.filter(user=request.user,fav_type=3,fav_id=teacher_id):16has_teahcer_faved=True17has_org_faved=False18ifUserFavorite.objects.filter(user=request.user,fav_type=2,fav_id=teacher.org.id):19has_org_faved=True2021returnrender(request,'teacher-detail.html',{22'teacher':teacher,23'all_courses':all_courses,24'teacher_sorted':teacher_sorted,25'has_teahcer_faved':has_teahcer_faved,26'has_org_faved':has_org_faved27})修改讲师详情页面中收藏的判断代码:

因为收藏操作是由前端通过ajax异步操作的,需要在讲师详情页面的最下面加上script代码:

THE END
1.远程在线教育平台小程序毕业设计源码远程在线教育平台小程序是一种利用互联网技术进行在线教育的新形式。随着全球化和数字化的快速发展,越来越多的人选择在线学习作为获取知识和技能的主要途径。尤其是在疫情期间,远程在线教育平台小程序得到了广泛的应用,为学生们提供了安全、便捷、多元化的学习方式。然而,尽管远程在线教育平台小程序具有许多优点,仍存在一些https://blog.csdn.net/fufulove/article/details/144280410
2.在线教育平台源码,开源在线教育平台在线教育平台系统_在线教育系统搭建_在线教育源码 在线教育的产生也催生了平台市场的繁荣,很多服务商开发在线教育平台系统,为培训机构的教学工作提供辅助,机构选择平台需要考虑到很多因素,比如使用成本,使用体验感,稳定性和安全性,功能是否能跟上机构不断变化的需求,也有机构自己搭建平台,和选择市面上的平台相比,两种方式https://www.yunduoketang.com/article/tags-2262.html
3.开源网校系统源码,在线教育教育平台网校搭建1、内容管理 2、讲师管理 3、实物商品 4、订单管理 5、用户管理 6、营销管理 7、教务管理 8、财务管理 9、公众号管理 10、系统管理 11、系统设置 12、课程管理 13、图文管理 14、视频管理 15、直播管理 16音频管理 17、题库管理等等;带商城,支持三级分销功能,PC+H5+公众https://www.ymama.net/news/txtlist_i1921v.html
4.主播用平台丨直播带货平台丨在线教育平台丨源码开源万岳直播系统源码,提供开源系统源码,6小时部署完成,快速搭建直播系统平台。 价格 ¥9800 3 交易成功 商品规格 请咨询客服后,进行下单 源码销售 购买方式 1次 我已阅读并同意《云市场商品服务协议》和《腾讯云云市场用户协议》 精选优质服务商 官方安全检测 https://market.cloud.tencent.com/products/30285
5.网校系统考试系统培训系统直播教学系统在线教育系统源码因酷教育软件-在线教育私有化平台解决方案提供商,提供教育数字化转型解决方案,产品包括网校系统,直播教学平台,考试系统,教育系统源码,培训系统等https://www.inxedu.com/
6.全开源教育培训微信小程序源码(FastAdmin+ThinkPHP+Unipp)一款适用于企业或组织的教育培训微信小程序系统,基于FastAdmin+ThinkPHP+Unipp开发,为继续教育、企业培训、考试学习等场景提供一站式音视频学习平台,支持课程购买、会员充值等方式进行在线付费学习,以及培训证书的生成与查证(高级授权)。 打造便捷学习体验的利器 https://m.sohu.com/a/782522972_121943658
7.万岳在线教育系统源码v1.1.4试用版源码下载应用平台:Linux/PHP/Mysql 源码官网:官方网址 更新时间:2020-09-04 网友评分: 360通过腾讯通过金山通过 23.4MB 详情介绍 万岳在线教育系统源码是一个源码开源,支持个性化定制,快速搭建部署线上教育独立品牌。多终端网校授课系统,支持大班课、小班课、一对一授课模式,还原真实线下教学场景。 https://www.jb51.net/codes/743714.html
8.万岳网校系统开发在线课堂源码在线授课平台开发搭建源码开源,支持个性化定制,快速搭建部署线上教育 独立品牌。多终端网校授课系统,支持大班课、小班 课、一对一授课模式,还原真实线下教学场景。 查看演示在线咨询更新日志 源码销售 定制开发 托管运营 SAAS 服务 私有化部署 满足各类在线教育场景 小班课 大班课 https://www.sdwanyue.com/edu
9.分享一款TP开发的开源在线教育网站源码php手册2016最新ThinkPHP内核仿教育在线网完整PHP源码,采用PC+WAP手机自适应在线教学考试系统,该网站采用国内顶尖的PHP开发框架ThinkPHP开发,整站代码完整,前台美工精美,采用业界领先的Bootstrap技术开发,后台采用在PHP框架中广为使用的JUI富客户端框架设计。附带完整的安装视频教程!https://www.php.cn/faq/334843.html
10.开源在线教育系统源码社区版Previous Image Next Image https://www.kt8.cn/tp/showpic.php?bh=1701134381-6095
11.免费开源知识付费系统,知识变现一体化解决方案,在线教育平台,在线借助社交网络实现裂变变推广提高知识平台转化率 互助教学 多种互动教学玩法提高平台用户活跃度及留存 独立部署 源码型系统 独立域名 数据私有 打造自自有平台 教育直播系统-专注教育/培训的互动轻课堂 互动大班 支持文字、图片等多种内容变现形式满足各行业教学需求 精品小班 支持音频课程上传,在线直播宠粉利用学员碎片https://www.jihexian.com/site/zhishi.html
12.万岳在线教育系统WEB开源版:万岳在线教育综合各培训机构的需求万岳在线教育综合各培训机构的需求,自主研发集知识付费、直播授课、网校建设、培训学校、在线教学、职业教育、素质教育、技能教育功能为一体的在线/直播/网络/线上/题库/考试/刷题/线下活动的分布式教育平台系统,满足用户对直播课、在线考试、教务、职业培训、刷题、点播、录播、多媒体教学等场景需求。 在线教育 直播https://gitee.com/WanYueKeJi/wanyue_education_web
13.教育在线答题在线小程序源码系统PHP+MySQL组合开发源码开源可二教育在线答题在线小程序源码系统是一款专为教育行业设计的,集在线题库管理、智能组卷、在线答题、自动评分、成绩分析等功能于一体的综合性平台。该系统采用PHP作为后端开发语言,结合MySQL数据库进行数据存储与管理,确保了系统的稳定性、安全性和可扩展性。同时,系统支持开源,允许用户根据自身需求进行二次开发,灵活定制功能https://web.2205buxiugangban.com/zhanzhang/1907.html
14.CRMEB知识付费在线教育内容付费系统CRMEB知识付费 在线教育内容付费系统 CRMEB知识付费系统是一款为企业客户量身打造的专业内容付费系统,具备音频、视频、图文、直播、专栏、轻专题等多种课程内容形式,能有效助力各个领域的内容创作者实现知识内容变现转化。 知识付费系统亮点卓越显著 系统独立部署,代码全开源,极易二开 https://www.crmeb.com/web/index/read
15.凸知知识付费与在线教育解决方案,由ThinkPHP+VUE3开发,可私有化部署https://knowledge.mutouweb.com/
16.系统在线教育系统知识付费系统KESION 科汛软件专注于为商家搭建独立部署网校、培训考试系统、在线教育系统、社交电商SaaS、知识付费SaaS、在线网校SaaS、企微营销助手和开源建站CMS等服务,让商业经营更简单。https://www.kesion.net/
17.程序源代码分布式在线教育系统51CTO博客以上文章属于此公众号原创所有,如需转载请注明出处。【免责申明】本公众平台不是广告商,也没有为其他三方网站或者个人做广告宣传。此分享的源代码和文章是小编在项目中、学习中整理的一些认为不错的项目。用户产生的一些自愿下载或者付费行为,与平台没有直接关系。https://blog.51cto.com/u_15067267/2576038