在线教育项目(六)之讲师功能实现
生活随笔
收集整理的這篇文章主要介紹了
在线教育项目(六)之讲师功能实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
功能:
url配置:
# 教師列表url(r'^teacher/list/$', TeacherListView.as_view(), name='teacher_list'),# 教師詳情頁url(r'^teacher/detail/(?P<teacher_id>\d+)/$', TeacherDetailView.as_view(), name='teacher_detail'),講師列表頁
?
class TeacherListView(View):def get(self, request):all_teachers = Teacher.objects.all()sort = request.GET.get('sort', '')teacher_nums = all_teachers.count()# 搜索keyword = request.GET.get('keywords', '')if keyword:# i表示忽略大小寫all_teachers = all_teachers.filter(Q(name__icontains=keyword) | Q(work_position__icontains=keyword))if sort:if sort == 'hot':all_teachers = all_teachers.order_by('-click_nums')[:3]# 講師排行榜sorted_teacher = Teacher.objects.all().order_by('-click_nums')[:3]# 分頁處理try:page = request.GET.get('page', 1)except PageNotAnInteger:page = 1p = Paginator(all_teachers, 2, request=request)teachers = p.page(page)return render(request, 'teachers-list.html',{'all_teachers': teachers,'teacher_nums': teacher_nums,'sorted_teacher': sorted_teacher})?講師詳情頁
?
class TeacherDetailView(View):def get(self, request, teacher_id):teacher = Teacher.objects.get(id=int(teacher_id))# 點擊數加一teacher.click_nums += 1teacher.save()all_course = Course.objects.filter(teacher=teacher)sorted_teacher = Teacher.objects.all().order_by('-click_nums')[:3]# 教師和機構是否收藏has_teacher_faved = Falsehas_org_faved = Falseif UserFavorite.objects.filter(user=request.user, fav_type=3, fav_id=teacher.id):has_teacher_faved = Trueelif UserFavorite.objects.filter(user=request.user, fav_type=2, fav_id=teacher.org.id):has_org_faved = Truereturn render(request, 'teacher-detail.html',{'teacher': teacher,'all_course': all_course,'sorted_teacher': sorted_teacher,'has_teacher_faved': has_teacher_faved,'has_org_faved': has_org_faved})?
總結
以上是生活随笔為你收集整理的在线教育项目(六)之讲师功能实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 穿过黑暗的夜,才懂黎明的晨
- 下一篇: 谈谈做等保三级后的一些关于运维的想法