def get(self, request, video_id): video = Video.objects.get(id=int(video_id)) course = video.lesson.course # 点击课程,学习人数 + 1 course.students += 1 course.save() # 查询用户是否已经关联了该课程 user_courses = UserCourse.objects.filter( user=request.user, course=course) # 查询用户可课程关联是否存在 if not user_courses: # 如果没有存在关联则创建一个关联 user_course = UserCourse(user=request.user, course=course) user_course.save() # 取出 UserCourse 表里和这个课程一样的所有数据 data,filter是一个django的数组 user_courses = UserCourse.objects.filter(course=course) # 取出 data 里所有用户的 user_ids 列表 user_ids = [user_course.user.id for user_course in user_courses] # 取出 UserCourse 表里, 集合 user_ids 每个元素对应的数据 all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [ user_course.course.id for user_course in all_user_courses ] # 获取学过该用户学过的其他课程 relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:3] # 获取课程资源 all_resources = CourseResourse.objects.filter(course=course) return render( request, "course-play.html", { "course": course, "course_resources": all_resources, "relate_courses": relate_courses, "video": video, })
def get(self, request, course_id): course = get_object_or_404(Course, id=course_id) course.click_nums += 1 course.save() user_course = UserCourse.objects.filter(user=request.user, course=course) if not user_course: user_course = UserCourse(user=request.user, course=course) user_course.save() course.students += 1 course.save() # 取出学习这门课程的所有用户的课程 user_courses = UserCourse.objects.filter(course=course) all_users = [user.user for user in user_courses] all_user_courses = UserCourse.objects.filter(user__in=all_users) courses_ids = [ user_course.course.id for user_course in all_user_courses ] relate_courses = Course.objects.filter(id__in=courses_ids).exclude( id=course.id).order_by('-click_nums')[:3] return render(request, 'course-video.html', { 'course': course, 'relate_courses': relate_courses })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() #查询用户是否已经关联了该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 去除所有课程id course_ids = [ user_course.course.id for user_course in all_user_courses ] # 获取学过该课的用户还学过的课程 relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:5] all_resource = CourseResource.objects.filter(course=course) return render( request, "course-video.html", { 'course': course, 'course_resources': all_resource, 'relate_courses': relate_courses, })
def get(self, request, video_id): video = Video.objects.get(id=video_id) # 找到对应的course course = video.lesson.course # 查询用户是否已关联该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() # 取出这门课的用户课程表 user_courses = UserCourse.objects.filter(course=course) # 取出用户课程表中的所有用户ID user_ids = [user_course.user.id for user_course in user_courses] # 取到这些用户的所有课程 all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出上面用户课程表中所有课程id course_ids = [ user_course.course.id for user_course in all_user_courses ] # 获取学过该课程的用户还学过的其他课程 relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums") all_resources = CourseResource.objects.filter(course=course) return render( request, "course-play.html", { "course": course, "all_resources": all_resources, "relate_courses": relate_courses, "video": video, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() #给用户和课程绑定关系 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() #取出学过该课程的所有信息 users_course = UserCourse.objects.filter(course=course) #取出所有的user id users_id = [user_course.user_id for user_course in users_course] #取出这些用户学过的所有课程 all_user_courses = UserCourse.objects.filter(user_id__in=users_id) # 取出所有课程ID courses_ids = [ user_course.course_id for user_course in all_user_courses ] #从所有课程中过滤出id 在course_ids中的所有课程 related_courses = Course.objects.filter( id__in=courses_ids).order_by("-click_nums")[:3] all_resource = CourseResource.objects.filter(course=course) return render( request, 'course-video.html', { "course": course, "course_resources": all_resource, "related_courses": related_courses })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() # 查询用户是否已经学习了该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: # 如果没有学习该门课程就关联起来 user_course = UserCourse(user=request.user, course=course) user_course.save() # 相关课程推荐 # 找到学习这门课的所有用户 user_courses = UserCourse.objects.filter(course=course) # 找到学习这门课的所有用户的id user_ids = [user_course.user_id for user_course in user_courses] # 通过所有用户的id,找到所有用户学习过的所有过程 all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [all_user_course.course_id for all_user_course in all_user_courses] # 通过所有课程的id,找到所有的课程,按点击量取前3 relate_courses = Course.objects.filter(id__in=course_ids).order_by("-click_nums")[:3] # 资源 all_resources = CourseResource.objects.filter(course=course) return render(request, "course-video.html", { "course": course, "all_resources": all_resources, "relate_courses": relate_courses, })
def get(self, request, course_id): course = Course.objects.get(id=course_id) course.students += 1 course.save() course_resources = CourseResource.objects.filter(course=course) # 检查用户和课程是否关联 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() # 查找相关课程 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) course_ids = [ all_user_course.course.id for all_user_course in all_user_courses ] relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:5] return render( request, 'course-video.html', { 'course': course, 'course_resources': course_resources, 'relate_courses': relate_courses, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() all_resources = CourseResource.objects.filter(course=course) # 查询用户是否关联了该课程,如果没有则关联 has_learn = UserCourse.objects.filter(user=request.user, course=course) if not has_learn: user_course = UserCourse(user=request.user, course=course) user_course.save() # 学过该课程的人还学过 user_courses = UserCourse.objects.filter( course=course) # 查询course 的所有UserCourse记录 user_ids = [user_course.user.id for user_course in user_courses] # 所有用户的id all_user_courses = UserCourse.objects.filter( user_id__in=user_ids) # 所有用户id 的课程 course_ids = { user_course.course.id for user_course in all_user_courses } # 课程id relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:5] return render( request, "course-video.html", { 'course': course, 'all_resources': all_resources, 'relate_courses': relate_courses })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() # 查询用户是否已经关联了该课程 user_course = UserCourse.objects.filter(user=request.user, course=course) if not user_course: user_course = UserCourse(user=request.user, course=course) user_course.save() user_courses = UserCourse.objects.filter(course=course) # 获取学过该课的所有同学的ID user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 获取所有学过该课的同学所学过的课程的ID course_ids = [ all_user_course.course.id for all_user_course in all_user_courses ] relate_courses = Course.objects.filter( id__in=course_ids).order_by('-click_nums')[:5] all_resources = CourseResource.objects.filter(course=course) return render( request, 'course-video.html', { 'course': course, 'course_resources': all_resources, 'relate_courses': relate_courses, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) # 查询用户和课程是否关联 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_courses = UserCourse(user=request.user, course=course) user_courses.save() # 该课的同学还学过 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) courses_id = [ user_course.course.id for user_course in all_user_courses ] relation_courses = Course.objects.filter( id__in=courses_id).order_by('-click_nums')[:5] resources = CourseResource.objects.filter(course=course) course_comment = CourseComment.objects.all() return render( request, 'course-comment.html', { 'course': course, 'resources': resources, 'course_comment': course_comment, 'all_user_courses': all_user_courses, 'relation_courses': relation_courses, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() #查询用户是否关联了该课程 user_courses = UserCourse.objects.filter(name=request.user, course=course) if not user_courses: # 如果未关联则是将该用户和课程关联 user_course = UserCourse(name=request.user, course=course) user_course.save() user_courses = UserCourse.objects.filter( course=course) #获取学过这门课的所有学生信息 user_ids = [user_course.name.id for user_course in user_courses] #遍历获取所有学过这门课的学生的id all_user_courses = UserCourse.objects.filter( name_id__in=user_ids ) #django特有的name参数id在user_ids中的就返回,就是获取这个id数组所在的所有用户 #去除所有课程id course_ids = [ user_course.course.id for user_course in all_user_courses ] #获取学过该课程的其他用户学过的所有课程 relate_courses = Course.objects.filter( id__in=course_ids).order_by("-add_time")[:5] all_resources = CourseResource.objects.filter(course=course) return render( request, "course-video.html", { "course": course, "all_resources": all_resources, "relate_courses": relate_courses })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) #将学生和课程关联起来 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() #学过改课的学生学过的其他课程 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) course_ids = [ all_user_course.course_id for all_user_course in all_user_courses ] relate_courses = Course.objects.filter(id__in=course_ids).exclude( id=course_id).order_by('-click_nums')[:5] #额外资源 all_resourses = CourseResourse.objects.filter(course=course_id) return render( request, 'course-video.html', { 'course': course, 'all_resourses': all_resourses, 'relate_courses': relate_courses })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() #查询用户是否已经关联了该课程 user_coursers = UserCourse.objects.filter(user=request.user, course=course) if not user_coursers: user_course = UserCourse(user=request.user, course=course) user_course.save() user_coursers = UserCourse.objects.filter(course=course) #取出用户所有id user_ids = [user_courser.user.id for user_courser in user_coursers] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) #取出所有课程id course_ids = [user_courser.course.id for user_courser in user_coursers] #获取学过该用户学过其他的所有课程 relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:5] all_resources = CourseResourse.objects.filter(course=course) return render( request, "course-video.html", { "course": course, "course_resources": all_resources, "relate_courses": relate_courses })
def get(self, request, course_id): # 此处的id为表默认为我们添加的值。 course = Course.objects.get(id=int(course_id)) # 查询用户是否开始学习了该课,如果还未学习则,加入用户课程表 user_courses = UserCourse.objects.filter(user= request.user, course= course) if not user_courses: user_course = UserCourse(user= request.user, course= course) course.students +=1 course.save() user_course.save() # 查询课程资源 all_resources = CourseResource.objects.filter(course=course) # 选出学了这门课的学生关系 user_courses = UserCourse.objects.filter(course= course) # 从关系中取出user_id user_ids = [user_course.user_id for user_course in user_courses] # 这些用户学了的课程,外键会自动有id,取到字段 all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [user_course.course_id for user_course in all_user_courses] # 获取学过该课程用户学过的其他课程 relate_courses = Course.objects.filter(id__in=course_ids).order_by("-click_nums").exclude(id =course.id)[:4] # 是否收藏课程 return render(request, "course-video.html", { "course": course, "all_resources": all_resources, "relate_courses":relate_courses, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) #点击课程+1 course.student += 1 course.save() # 获取学过该用户学过其他的所有课程 #查询用户是否已经关联了该课程 user_courses_ralate = UserCourse.objects.filter(user=request.user, course=course) if not user_courses_ralate: user_course_ralate = UserCourse(user=request.user, course=course) user_course_ralate.save() user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) #取出所有课程id course_ids = [ user_course.course.id for user_course in all_user_courses ] relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:5] all_courses = CourseResource.objects.filter(course=course) return render( request, 'course-video.html', { "course": course, "course_resources": all_courses, "relate_courses": relate_courses, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) #通过课程id获得课程对象 course.students += 1 course.save() #查询用户是否已经关联了该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() user_courses = UserCourse.objects.filter( course=course) #通过课程对象筛选所有选这个课程的用户关联数据对象 user_ids = [user_course.user.id for user_course in user_courses] #取出所有选择了此课程的用户id all_user_courses = UserCourse.objects.filter( user_id__in=user_ids) #获得选择了此课程的用户们,还选了些什么课程 #取出所有课程id course_ids = [ user_course.course.id for user_course in all_user_courses ] #将这些课程的id取出来 #获取学过该用户学过其他的所有课程 relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:5] all_resources = CourseResource.objects.filter(course=course) return render( request, "course-video.html", { "course": course, "all_resources": all_resources, "relate_courses": relate_courses, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() # 查询用户和课程是否关联 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() # 相关用户课程推荐 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 多条件还可以这么玩 course_ids = [all_user_course.course.id for all_user_course in all_user_courses] relate_courses = Course.objects.filter(id__in=course_ids).order_by("-click_nums")[:5] course_resources = CourseResource.objects.filter(course=course) course_comments = CourseComments.objects.filter(course=course).order_by("-add_time")[:20] return render(request, 'course-comment.html', { 'course': course, 'relate_courses': relate_courses, 'course_resources': course_resources, 'course_comments': course_comments, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) course_ids = [ user_course.course.id for user_course in all_user_courses ] relate_courses = Course.objects.filter( id__in=course_ids).order_by('-click_nums')[:5] all_comments = CourseComments.objects.all().order_by('-add_time') return render( request, 'course-comment.html', { 'course': course, 'all_comments': all_comments, 'relate_courses': relate_courses })
def get(self, request, video_id): lesson = Lesson.objects.get(id=int(video_id)) course = lesson.chapter.course # 用户是否关联课程 if request.user.is_student: user_courses = UserCourse.objects.filter(student=request.user, course=course) if not user_courses: user_courses = UserCourse(student=request.user, course=course) course.learn_nums += 1 course.save() user_courses.save() user_courses = UserCourse.objects.filter(course=course) # 获取当前课程所有记录 all_users = [user_course.student.id for user_course in user_courses] # 筛选课程用户ID all_user_courses = UserCourse.objects.filter( student_id__in=all_users) # 通过ID获取用户课程 all_courses = [ user_course.course.id for user_course in all_user_courses ] # 筛选课程ID courses = Course.objects.filter( id__in=all_courses).order_by('-click_nums')[:5] # 通过ID获取课程 all_resources = CourseResource.objects.filter(course=course) return render( request, 'course-play.html', { 'course': course, 'courses': courses, 'lesson': lesson, 'all_resources': all_resources })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) course_ids = [ user_course.course.id for user_course in all_user_courses ] relate_courses = Course.objects.filter( id__in=course_ids).order_by('-click_nums')[:5] all_resources = CourseResource.objects.filter(course=course) return render( request, 'course-video.html', { 'course': course, 'all_resources': all_resources, 'relate_courses': relate_courses, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) all_resources = CourseResource.objects.filter(course=course) all_comments = CourseComments.objects.all().order_by("-id") # 查询用户是否已经关联了该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() user_coursers = UserCourse.objects.filter(course=course) user_ids = [user_courser.user.id for user_courser in user_coursers] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [ user_courser.course.id for user_courser in all_user_courses ] # 获取学过该用户学过其他的所有课程 relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:5] return render( request, "course-comment.html", { "course": course, "course_resources": all_resources, "all_comments": all_comments, "relate_courses": relate_courses })
def get(self, request, video_id): video = Video.objects.get(id=int(video_id)) course = video.lesson.course # 查询用户是否已经关联了该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() # 获取所有课程相关的用户 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] # 取出该用户的所有课程 all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [ user_course.course.id for user_course in all_user_courses ] # 获取学过该课程的用户学过其他的所有课程 relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:5] all_resources = CourseResource.objects.filter(course=course) return render( request, "course-play.html", { "course": course, "course_resources": all_resources, "relate_courses": relate_courses, "video": video })
def get(self, request, video_id): video = Video.objects.get(id=int(video_id)) course = video.lesson.course # 增加课程点击数 course.click_nums += 1 course.save() # 查询用户是否已经关联了该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: usercourse = UserCourse(user=request.user, course=course) usercourse.save() user_cousers = UserCourse.objects.filter(course=course) # 取出所有用户id user_ids = [user_couser.user.id for user_couser in user_cousers] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [ user_couser.course.id for user_couser in all_user_courses ] # 获取学过该课程的用户学过的其它所有课程 relate_courses = Course.objects.filter( id__in=course_ids).order_by('-click_nums')[:5] all_resources = CourseResource.objects.filter(course=course) return render( request, 'course-play.html', { 'course': course, 'course_resources': all_resources, 'relate_courses': relate_courses, 'video': video, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() # 查询用户是否已经关联了该课程,没有则关联起来 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() # 查询到所有拥有相同course的UserCourse对象 user_coursers = UserCourse.objects.filter(course=course) # 查询到所有符合条件的用户id user_ids = [user_courser.user.id for user_courser in user_coursers] # 根据用户id查询到该id学过的所有课程 all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [ user_courser.course.id for user_courser in all_user_courses ] # 获取学过该课程用户学过的所有课程 relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:5] # 获取所有资源 all_resources = CourseResource.objects.filter(course=course) return render( request, "course-video.html", { "course": course, "course_resources": all_resources, "relate_courses": relate_courses })
def get(self, request, course_id): # 此处的id为表默认为我们添加的值。 course = Course.objects.get(id=int(course_id)) # 查询用户是否开始学习了该课,如果还未学习则,加入用户课程表 user_courses = UserCourse.objects.filter(user= request.user, course= course) if not user_courses: user_course = UserCourse(user= request.user, course= course) course.students +=1 course.save() user_course.save() # 查询课程资源 all_resources = CourseResource.objects.filter(course=course) # 选出学了这门课的学生关系 user_courses = UserCourse.objects.filter(course= course) # 从关系中取出user_id user_ids = [user_course.user_id for user_course in user_courses] # 这些用户学了的课程,外键会自动有id,取到字段 all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [user_course.course_id for user_course in all_user_courses] # 获取学过该课程用户学过的其他课程 relate_courses = Course.objects.filter(id__in=course_ids).order_by("-click_nums").exclude(id =course.id)[:4] # 是否收藏课程 return render(request, "course-video.html", { "course": course, "all_resources": all_resources, "relate_courses":relate_courses, })
def get(self, request, course_id): # 1获取课程id对应的课程 course = Course.objects.get(id=int(course_id)) # 2.课程里面学习人数+1 course.students += 1 course.save() # 3.查询用户是否学习该课程 user_couses = UserCourse.objects.filter(user=request.user, course=course) if not user_couses: user_couses = UserCourse(user=request.user,course=course) user_couses.save() #所有用户的id user_couseses = UserCourse.objects.filter(course=course) user_ids = [user_couse.user.id for user_couse in user_couseses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) course_ids = [ user_couse.course.id for user_couse in all_user_courses] relate_courses = Course.objects.filter(id__in=course_ids).order_by('-click_nums')[:3] #查询所有的资源 all_resources = CourseResource.objects.filter(course=course) return render(request,'course-video.html',{ 'course':course, 'relate_courses':relate_courses, 'all_resources':all_resources, })
def get(self, request, video_id): video = Video.objects.get(id=int(video_id)) demo = video.lesson.demo user_demos = UserCourse.objects.filter(demo=demo) # 查看用户是否关联,如果未关联则建立连接 user_courses = UserCourse.objects.filter(user=request.user, demo=demo) if not user_courses: user_course = UserCourse(user=request.user, demo=demo) user_course.save() # 取出所有学习该课程的用户,然后查询这些用户学过的课程 user_ids = [user.id for user in user_demos] # user.id的数组 all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) course_id = [user_course.id for user_course in all_user_courses] # courser.id的数组 courses = Demo.objects.filter(id__in=course_id).order_by("-click_num") all_resourse = DemoResource.objects.filter(demo=demo) return render( request, 'course-play.html', { 'demo': demo, 'all_resourse': all_resourse, 'relate_courses': courses, 'video': video, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() #查询用户是否已经关联了该课程 user_course = UserCourse.objects.filter(user=request.user, course=course) if not user_course: user_course = UserCourse(user=request.user, course=course) user_course.save() #获取当前课程的所有用户 user_courses = UserCourse.objects.filter(course=course) #遍历这个课程用户的id user_ids = [user_course.user.id for user_course in user_courses] #只要是学过这个课程的用户id,通过id把他们学过的课程可以全部获取 all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) #取出所有课程id course_ids = [ user_course.course.id for user_course in all_user_courses ] #获取学过该用户学过其它的所有课程 relate_courses = Course.objects.filter( id__in=course_ids).order_by('-click_nums')[:5] all_resources = CourseResource.objects.filter(course=course) return render( request, 'course-video.html', { 'course': course, 'course_resources': all_resources, "relate_courses": relate_courses, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() # 查询用户是否已经学习了该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: # 如果没有学习该门课程就关联起来 user_course = UserCourse(user=request.user, course=course) user_course.save() # 相关课程推荐 # 找到学习这门课的所有用户 user_courses = UserCourse.objects.filter(course=course) # 找到学习这门课的所有用户的id user_ids = [user_course.user_id for user_course in user_courses] # 通过所有用户的id,找到所有用户学习过的所有过程 all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [ all_user_course.course_id for all_user_course in all_user_courses ] # 通过所有课程的id,找到所有的课程,按点击量去五个 relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:5] # 资源 all_resources = CourseResource.objects.filter(course=course) return render( request, 'course-video.html', { 'course': course, 'all_resources': all_resources, 'relate_courses': relate_courses, })
def get(self, request, course_id): # 此处的id为表默认为我们添加的值。 course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() all_resources = CourseResource.objects.filter(course=course) user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) course.students += 1 course.save() user_course.save() user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出去哦有课程id course_id = [user_course.course.id for user_course in user_courses] relate_courses = Course.objects.filter( id__in=course_id).order_by('-click_nums')[:5] return render( request, "course-video.html", { "course": course, "course_resources": all_resources, 'relate_courses': relate_courses, })
def get(self, request, video_id): video = Video.objects.get(id=int(video_id)) course = video.lesson.course course.student += 1 course.save() #查询用户是否已经关联了该课程 user_courses_ralate = UserCourse.objects.filter(user=request.user, course=course) if not user_courses_ralate: user_course_ralate = UserCourse(user=request.user, course=course) user_course_ralate.save() user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) #取出所有课程id course_ids = [ user_course.course.id for user_course in all_user_courses ] relate_courses = Course.objects.filter( id__in=course_ids).order_by("-click_nums")[:5] all_courses = CourseResource.objects.filter(course=course) return render( request, 'course-play.html', { "course": course, "course_resources": all_courses, "relate_courses": relate_courses, "video": video, })
def get(self, request, video_id): video = Video.objects.get(id=int(video_id)) course = video.lesson.course course.students += 1 course.save() # 查询用户和课程是否关联 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() # 相关用户课程推荐 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 多条件还可以这么玩 course_ids = [all_user_course.course.id for all_user_course in all_user_courses] relate_courses = Course.objects.filter(id__in=course_ids).order_by("-click_nums")[:5] course_resources = CourseResource.objects.filter(course=course) # 还可以这么玩,厉害厉害 return render(request, 'course-play.html', { 'course': course, 'relate_courses': relate_courses, 'course_resources': course_resources, 'video': video, })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students +=1 course.save() # 查询用户是否已经学习了该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: # 这里不用 # user_courses.user = request.user # user_courses.course = course # 因为 user,course 是外键,在 UserCourse 实际上存储的是 id ,这些 id 是已经存在的 user_courses = UserCourse(user=request.user, course=course) user_courses.save() # 得出学过该课程的同学还学过的课程 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) course_ids = [user_course.course.id for user_course in all_user_courses] relate_courses = Course.objects.filter(id__in=course_ids).order_by('-click_nums')[:5] all_resources = CourseResource.objects.filter(course=course) return render(request, 'course-video.html', { 'course': course, 'all_resources': all_resources, 'relate_courses': relate_courses, })
def get(self, request, video_id): video = Video.objects.get(id=int(video_id)) # 通过外键找到章节再找到视频对应的课程 course = video.lesson.course course.students += 1 course.save() # 查询用户是否已经学习了该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: # 如果没有学习该门课程就关联起来 user_course = UserCourse(user=request.user, course=course) user_course.save() # 相关课程推荐 # 找到学习这门课的所有用户 user_courses = UserCourse.objects.filter(course=course) # 找到学习这门课的所有用户的id user_ids = [user_course.user_id for user_course in user_courses] # 通过所有用户的id,找到所有用户学习过的所有过程 all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [all_user_course.course_id for all_user_course in all_user_courses] # 通过所有课程的id,找到所有的课程,按点击量去五个 relate_courses = Course.objects.filter(id__in=course_ids).order_by("-click_nums")[:5] # 资源 all_resources = CourseResource.objects.filter(course=course) return render(request, 'course-play.html', { 'course': course, 'all_resources': all_resources, 'relate_courses': relate_courses, 'video': video, })
def get(self, request, video_id): video = Video.objects.get(id=int(video_id)) course = video.lesson.courses course.students += 1 course.save() # 查询用户是否已经关联该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() user_cousers = UserCourse.objects.filter(course=course) user_ids = [user_couser.user.id for user_couser in user_cousers] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [user_couser.course.id for user_couser in all_user_courses] # 获取学过该用户学过其他的课程 relate_courses = Courses.objects.filter(id__in=course_ids).order_by('-click_nums')[:5] all_resources = CourseResource.objects.filter(course = course) return render(request, 'course-play.html', { 'course':course, 'course_resources':all_resources, 'relate_courses':relate_courses, 'video':video })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) course.students += 1 course.save() # 查询用户是否已经关联了该课程 user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_course = UserCourse(user=request.user, course=course) user_course.save() user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) # 取出所有课程id course_ids = [user_course.course.id for user_course in all_user_courses] # 获取该用户学过的其他课程 relate_courses = Course.objects.filter(id__in=course_ids).order_by("-click_nums")[:5] all_resources = CourseResource.objects.filter(course=course) return render(request, 'course-video.html', { 'course': course, 'course_resources': all_resources, 'relate_courses': relate_courses, })
def get(self, request, video_id): video = Video.objects.get(id=int(video_id)) course = video.lesson.course user_courses = UserCourse.objects.filter(user=request.user, course=course) if not user_courses: user_courses = UserCourse(user=request.user, course=course) user_courses.save() user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_user_courses = UserCourse.objects.filter(user_id__in=user_ids) course_ids = [user_course.course.id for user_course in all_user_courses] relate_courses = Course.objects.filter(id__in=course_ids).order_by('-click_nums')[:5] all_resources = CourseResource.objects.filter(course=course) return render(request, 'course-play.html', { 'course': course, 'all_resources': all_resources, 'relate_courses': relate_courses, 'video': video, })