class CourseVideoView(View):
def get(self, request, course_id):
# 传入course_id,确定是哪门课
this_course = Course.objects.get(pk=int(course_id))
# 课程所有的评论
all_comment = CourseComment.objects.all()
# 课程的老师
course_teacher = this_course.course_teacher
# 课程推荐↓
# 所有含有‘course’的UserCourse的类对象
user_courses = UserCourse.objects.filter(course=this_course.id)
# 所有学过‘course’这门课的用户的id
user_ids = [user_course.user.id for user_course in user_courses]
# 如果有人学过这门课
# 学过这门课的同学,还学过以下其他的课,选取第一个,作为推荐课程
recommend_courses = UserCourse.objects.filter(user_id__in=user_ids).exclude(course_id=this_course.id)
if recommend_courses:
recommend_course = recommend_courses[0]
else:
# 如果没人学过这门课,就随机推荐一门课
max_num = UserCourse.objects.count()-1
recommend_course = UserCourse.objects.all()[randint(0,max_num)]
return render(request, 'course-video.html', {'this_course': this_course,
'all_comment': all_comment,
'recommend_course': recommend_course,
'course_teacher': course_teacher})
有关【学过该课程的同学还学过】的一段代码
最新推荐文章于 2022-11-25 22:33:45 发布