コード例 #1
0
    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,
            })
コード例 #2
0
    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
        })
コード例 #3
0
    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,
            })
コード例 #4
0
    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,
            })
コード例 #5
0
    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
            })
コード例 #6
0
ファイル: views.py プロジェクト: Milleree/DjangoEduSysDemo
    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,
        })
コード例 #7
0
    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,
            })
コード例 #8
0
ファイル: views.py プロジェクト: turkey66/mxonline
    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
            })
コード例 #9
0
    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,
            })
コード例 #10
0
ファイル: views.py プロジェクト: EGjaedong/MXOline-github
    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,
            })
コード例 #11
0
    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
            })
コード例 #12
0
ファイル: views.py プロジェクト: hudingjing244/mooc
    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
            })
コード例 #13
0
 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
         })
コード例 #14
0
ファイル: views.py プロジェクト: sloth-zpz/Mxonline3
    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,
        })
コード例 #15
0
ファイル: views.py プロジェクト: wenpeng222/muke_pengpeng
    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,
            })
コード例 #16
0
 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,
         })
コード例 #17
0
ファイル: views.py プロジェクト: lisi2016/MxOnline
    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,
        })
コード例 #18
0
    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
            })
コード例 #19
0
    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
            })
コード例 #20
0
    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,
            })
コード例 #21
0
    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
            })
コード例 #22
0
    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
            })
コード例 #23
0
ファイル: views.py プロジェクト: daifj/MxOnline
    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,
            })
コード例 #24
0
ファイル: views.py プロジェクト: luoyi2017/dj_edu
    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
            })
コード例 #25
0
    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,
        })
コード例 #26
0
    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,

        })
コード例 #27
0
ファイル: views.py プロジェクト: DrNolanXW/NC-Online
    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,
            })
コード例 #28
0
    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,
            })
コード例 #29
0
ファイル: views.py プロジェクト: Cherish-sun/MxOnline
    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,
            })
コード例 #30
0
 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,
         })
コード例 #31
0
ファイル: views.py プロジェクト: wenpeng222/muke_pengpeng
    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,
            })
コード例 #32
0
ファイル: views.py プロジェクト: lisi2016/MxOnline
    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,
        })
コード例 #33
0
ファイル: views.py プロジェクト: 116pythonZS/imooc-django
    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,
        })
コード例 #34
0
ファイル: views.py プロジェクト: Milleree/DjangoEduSysDemo
    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,
        })
コード例 #35
0
ファイル: views.py プロジェクト: songszw/song
    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
        })
コード例 #36
0
ファイル: views.py プロジェクト: xypisces/python
 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,
     })
コード例 #37
0
ファイル: views.py プロジェクト: 116pythonZS/imooc-django
    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,
        })