博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
25、Django实战第25天:讲师详情页
阅读量:4686 次
发布时间:2019-06-09

本文共 2501 字,大约阅读时间需要 8 分钟。

1、复制teacher-detail.html到templates目录下

2、编辑teacher-detail.html,继承base.html

3、编辑organization.view.py

class TeacherDetailView(View):    def get(self, request, teacher_id):        teacher = Teacher.objects.get(id=teacher_id)        return render(request, 'teacher-detail.html', {            'teacher': teacher,        })

4、配置url,编辑organization.urls.py

from .views import teacherDetailViewurlpatterns = [    ...    url(r'/teacher/detail/(?P
\d+)/$', TeacherDetailView.as_view(), name='teacher_detail'),]

5 、在讲师列表页把进入讲师详情页的地址修改

 

讲师信息展示

 

机构信息展示

 

讲师排行榜

编辑organization.views.py

class TeacherDetailView(View):    def get(self, request, teacher_id):        teacher = Teacher.objects.get(id=teacher_id)        rank_teachers = Teacher.objects.all().order_by('-click_nums')[:2]        return render(request, 'teacher-detail.html', {            'teacher': teacher,            'rank_teachers':rank_teachers,        })

前端页面展示

 

讲师全部课程

编辑organization.views.py

...from courses.models import Courseclass TeacherDetailView(View):    def get(self, request, teacher_id):        teacher = Teacher.objects.get(id=teacher_id)        rank_teachers = Teacher.objects.all().order_by('-click_nums')[:2]        courses = Course.objects.filter(teacher=teacher)        return render(request, 'teacher-detail.html', {            'teacher': teacher,            'rank_teachers':rank_teachers,            'courses': courses,        })

前端展示

 

收藏功能 和增加点击次数

编辑organization.view.py

class TeacherDetailView(View):    def get(self, request, teacher_id):        teacher = Teacher.objects.get(id=teacher_id)        rank_teachers = Teacher.objects.all().order_by('-click_nums')[:2]                # 增加点击次数        teacher.click_nums += 1        teacher.save()                # 收藏        has_teracher_fav = False        has_org_fav = False        if request.user.is_authenticated():            if UserFavorite.objects.filter(user=request.user, fav_id=teacher.id, fav_type=3):                has_teracher_fav = True            if UserFavorite.objects.filter(user=request.user, fav_id=teacher.org.id, fav_type=2):                has_org_fav = True        courses = Course.objects.filter(teacher=teacher)        return render(request, 'teacher-detail.html', {            'teacher': teacher,            'rank_teachers':rank_teachers,            'courses': courses,            'has_teracher_fav': has_teracher_fav,            'has_org_fav': has_org_fav,        })

编辑teacher-detail.html中的js

前端判断显示

 

转载于:https://www.cnblogs.com/sellsa/p/8643562.html

你可能感兴趣的文章
POJ 3279 Fliptile (二进制枚举)
查看>>
memcached 细究(三)
查看>>
future
查看>>
关于main函数传参数的问题
查看>>
getTickCount()函数 VS GetTickCount()函数
查看>>
嵌入式jetty
查看>>
2017~回顾分享
查看>>
let const var的区别与作用
查看>>
计算出线在屏幕内的最长坐标
查看>>
使用svn——项目的目录布局
查看>>
Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理
查看>>
【bzoj4310/hdu5030-跳蚤】后缀数组
查看>>
深度信任网络的快速学习算法(Hinton的论文)
查看>>
RSA System.Security.Cryptography.CryptographicException
查看>>
s的封装和信息隐蔽
查看>>
excelhttp://www.cnblogs.com/caoyuanzhanlang/p/3591904.html
查看>>
ArrayList和LinkedList和Vector源码分析
查看>>
webservice整合spring cxf
查看>>
再次编译这个应用程序应该不会有问题
查看>>
Ubuntu-tomcat7目录
查看>>