def get(self, request, course_id, *args, **kwargs): # 根据course_id获取课程详情,点击数加1 course = Courses.objects.get(id=int(course_id)) course.click_nums += 1 course.save() # 首先要查该用户是否已经关联了该课程 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() # 记得学生数得加1 course.students += 1 course.save() # 显示右下的'学习过该课程的同学还学过哪些课程' # 找到学过该课程的所有'用户课程对象' user_courses = UserCourse.objects.filter(course=course) # 找到这些学生的id user_ids = [user_course.user.id for user_course in user_courses] # 找这些学生学过的所有课程的'用户课程对象',并根据课程的点击数进行倒序排列,并设置最多取5个 all_courses = UserCourse.objects.filter(user_id__in=user_ids).order_by("-course__click_nums")[:5] # 最后,取所有的学习过该课程的同学还学过哪些课程,并排除掉当前课程 related_courses = [user_course.course for user_course in all_courses if user_course.course.id != course.id] # 课程资源展示 course_resources = CourseResource.objects.filter(course=course) return render(request, 'course-video.html', { "course": course, "course_resources": course_resources, "related_courses": related_courses, })
def get(self, request, course_id, video_id, *args, **kwargs): #获取章节信息 course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() video = Video.objects.get(id=int(video_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() course.students += 1 course.save() #获取课程资源 course_resource = CourseResource.objects.filter(course=course) # 获取课程作业 course_homework = CourseHomework.objects.filter(course=course) return render( request, "course-play.html", { "course": course, "course_resource": course_resource, "video": video, "course_homework": course_homework, })
def get(self, request, course_id, *args, **kwargs): course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() comments = CourseComments.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() course.students += 1 course.save() # 学习过该课程的所有同学 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter(user_id__in=user_ids).order_by("-course__click_nums")[:5] # related_courses = [user_course.course for user_course in all_courses if user_course.course.id != course.id] related_courses = [] for item in all_courses: if item.course.id != course.id: related_courses.append(item.course) # course_resources = source.objects.filter(course=course) return render(request, "course-comment.html", { "course": course, #"course_resources": course_resources, "related_courses": related_courses, "comments":comments })
def get(self, request, course_id): course = Course.objects.get(pk=course_id) course_resources = CourseResource.objects.filter(course=course) # 判断是否有登录LoginRequiredMixin # 用户点“开始学习”就保存信息 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.learn_nums += 1 course.save() # 查询学过该课程的 其他学生 ,从而查询该学生学习的其他课程 other_user_courses = UserCourse.objects.exclude( user=request.user).exclude(course=course) print(other_user_courses) content = { 'course': course, 'course_resources': course_resources, 'other_user_courses': other_user_courses, } return render(request, 'course-video.html', context=content)
def get(self, request, course_id): current_page = 'course_info' 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, 'all_resources': all_resources, 'current_page': current_page, 'relate_courses': relate_courses, })
def get(self, request, course_id, *args, **kwargs): ''' 获取课程章节信息 ''' course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() 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() course.students += 1 course.save() course_resource = CourseResource.objects.filter(course=course) # 学习过该课程的所有同学 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter(user_id__in=user_ids).order_by('-course__click_nums') related_courses = [user_course.course for user_course in all_courses if user_course.course.id != course.id] return render(request, 'course-video.html', { 'course': course, 'course_resource': course_resource, 'related_courses': related_courses })
def get(self, request, course_id): course = Course.objects.get(id=int(course_id)) if request.user.is_authenticated(): 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.click_num += 1 course.save() return render(request, 'course-detail.html', {'course': course})
def get(self, request, course_id, *args, **kwarg): course = Course.objects.get(id=course_id) course.click_nums += 1 course.save() comments = CourseComments.objects.filter(course=course) # lessons = course.lesson_set.all() # for lesson in lessons: # for video in lesson.video_set.all(): # time = video.learn_time users_course = UserCourse.objects.filter(user=request.user, course=course) if not users_course: users_course = UserCourse(user=request.user, course=course) users_course.save() course.students += 1 course.save() # すべてコースに参加したユーザーを取得 user_courses = UserCourse.objects.filter(course=course) # 取得したユーザーのidを取得 user_ids = [user_course.user.id for user_course in user_courses] # idからコースを取得 all_courses = UserCourse.objects.filter( user_id__in=user_ids).order_by("-course__click_nums")[:5] # 関連するコースを取得 # related_courses = [user_course.course # for user_course in all_courses # if users_courses.id != course.id # ] related_courses = [] for item in all_courses: if item.course.id != course.id: related_courses.append(item.course) course.resources = CourseResource.objects.filter(course=course) return render( request, "course-comment.html", { "course": course, "course_resources": course.resources, "related_courses": related_courses, "comments": comments, })
def get(self, request, course_id, *args, **kwargs): """ 获取课程章节信息 """ course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() #1. 用户和课程之间的关联 #2. 对view进行login登录的验证 #3. 其他课程 course_org = course.course_org #查询该课程机构 #查询用户是否已经关联了该课程 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.students += 1 course.save() course_org.students += 1 #学习该课程人数+1 course_org.save() #学习过该课程的所有同学 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter( user_id__in=user_ids).order_by("-course__click_nums")[:4] # related_courses = [user_course.course for user_course in all_courses if user_course.course.id != course.id] related_courses = [] for item in all_courses: if item.course.id != course.id: related_courses.append(item.course) course_resources = CourseResource.objects.filter(course=course) return render( request, "course-video.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses })
def get(self, request, course_id, *args, **kwargs): """ 课程评论 """ course = Course.objects.get(id=int(course_id)) # 点击一次,点击数加1 course.click_nums += 1 course.save() # 获取课程评论 comments = CourseComments.objects.filter(course=course) # 1.用户和课程之间的关联 # 查询用户是否已经关联该课程 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.students += 1 course.save() # 学习过该课程的同学 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] # 拿到了学过该课程的所有学生id all_courses = UserCourse.objects.filter(user_id__in=user_ids).order_by( "-course__click_nums")[:5] # 取出所有id对应同学的所有课程 # related_courses = [user_course.course for user_course in all_courses if user_course.course.id != course.id] related_courses = [] for item in all_courses: if item.course.id != course.id: related_courses.append(item.course) # 该课程资源 course_resources = CourseResource.objects.filter(course=course) return render( request, "course-comment.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses, "comments": comments })
def get(self, request, course_id, video_id, *args, **kwargs): """ 获取课程章节信息 :param request: :param course_id: :param args: :param kwargs: :return: """ course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() video = Video.objects.get(id=int(video_id)) #查询用户是否已关联该课程 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_course = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_course] all_courses = UserCourse.objects.filter( user_id__in=user_ids).order_by('-course__click_nums')[:5] related_courses = [] for item in all_courses: if item.course_id != course_id: related_courses.append(item.course) #课程资料下载 course_resources = CourseResource.objects.filter(course=course) return render( request, 'course-play.html', { 'course': course, 'course_resources': course_resources, 'related_courses': related_courses, 'video': video, })
def get(self, request, course_id, *args, **kwargs): ''' 获取课程章节信息 ''' course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() # 用户课程之间的关联 # 对view进行login登陆的验证 # 其他课程 # 查询用户是否已经关联了该课程 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() course.students += 1 course.save() # 学习过该课程的所有同学 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter( user_id__in=user_ids).order_by("-course__click_nums")[:6] related_courses = [ user_course.course for user_course in all_courses if user_course.course.id != course.id ] # related_courses = [] # for item in all_courses: # related_courses.append(item.course) course_resources = CourseResource.objects.filter(course=course) return render( request, "course-video.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses, })
def get(self, request, course_id, video_id, *args, **kwargs): """ 获取课程章节信息 """ course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() video = Video.objects.get(id=int(video_id)) content = Video.objects.get(id=int(video_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() course.students += 1 course.save() #学习过该课程的所有同学 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter( user_id__in=user_ids).order_by("-course__click_nums")[:4] # related_courses = [user_course.course for user_course in all_courses if user_course.course.id != course.id] related_courses = [] for item in all_courses: if item.course.id != course.id: related_courses.append(item.course) course_resources = CourseResource.objects.filter(course=course) return render( request, "course-play.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses, "video": video, "content": content, })
def get(self, request, course_id, video_id, *args, **kwargs): """获取课程章节详情""" course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() video = Video.objects.get(id=int(video_id)) #学习过该课程的所有同学 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter( user_id__in=user_ids).order_by("-course__click_nums")[:5] related_courses = [ user_course.course for user_course in all_courses if user_course.course.id != course.id ] #1. 用户和课程之间的联系 #2. 对view进行login登陆的验证 #3. 其他课程 #查询用户是否已经关联了该课程 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.students += 1 course.save() #课程资料的下载 course_resources = CourseResource.objects.filter(course=course) return render( request, "course-play.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses, "video": video, })
def get(self, request, course_id, video_id, *args, **kwargs): course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() # 1.用户和课程之间的关联 # 2.对view进行登录的验证 # 3.其他课程 # 查询用户是否已经关联了该课程 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.students += 1 course.save() video = Video.objects.get(id=int(video_id)) # 学习过该课程的所有同学 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter( user_id__in=user_ids).order_by("-course__click_nums")[:5] relate_courses = [ user_course.course for user_course in all_courses if user_course.course_id != course.id ] course_resources = CourseResource.objects.filter(course=course) return render( request, "course-play.html", { "course": course, "course_resources": course_resources, "relate_courses": relate_courses, "video": video })
def get(self, request, course_id, video_id,*args, **kwargs): """ 获取课程章节信息 """ course = Course.objects.get(id=int(course_id)) course.click_num += 1 course.save() video = Video.objects.get(id=int(video_id)) # 将课程与用户绑定 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() lesson = Lesson.objects.filter(course=course) # 获取评论内容 comments = CourseComments.objects.filter(course=course) # 获取学习该课程的用户还学过的课程 # 获取所有学习该课程的对象 user_courses = UserCourse.objects.filter(course=course) # 从对象中获取学习过该课程的所有同学id user_ids = [user_course.user.id for user_course in user_courses] # 根据ID获取所有学生学习的所有课程的对象 all_courses = UserCourse.objects.filter(user_id__in=user_ids).order_by("-course__click_num") # 获取所有的对象的课程,存储到一个列表中 related_courses = set() for user_course in all_courses: if user_course.course.id != course.id: related_courses.add(user_course.course) return render(request, "course-play.html", { "course": course, "related_courses": related_courses, "comments": comments, "all_lesson":lesson, "video":video, })
def get(self, request, course_id, *args, **kwargs): """ 获取课程章节信息""" course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() #1. 用户和课程之间的关联 #2. 对view进行login登录的验证 --- 使用LoginRequiredMixin完成 #3. 其他课程 # 查询用户是否已经关联了该课程 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() course.students += 1 course.save() # 学习过该课程的所有同学 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter( user_id__in=user_ids).order_by("-course__click_nums")[:5] # related_courses = [user_course.course for user_course in all_courses] related_courses = [] for item in all_courses: if item.course.id != course.id: related_courses.append(item.course) # 课程资料下载 course_resources = CourseResource.objects.filter(course=course) return render( request, "course-video.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses, })
def get(self, request, course_id, *args, **kwargs): """ 获取课程章节信息 """ course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() #1.课程和用户关联 #2.必须登录才能进入view #3.其他课程 #查询用户是否已经关联了该课程 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) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter(user_id__in=user_ids).exclude( course__id=course.id).order_by("-course__click_nums")[:5] related_courses = [user_course.course for user_course in all_courses] #课程资源 course_resources = CourseResource.objects.filter(course=course) return render( request, "course-video.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses })
def get(self, request, course_id, *args, **kwargs): # 获取用户点击的是哪个课程 course = Course.objects.get(id=course_id) # 如果用户点击学习了该课程,那么就添加到 用户课程 的表中 # 判断用户之前是否学习过该课程。 if not UserCourse.objects.filter(user=request.user, course=course): # 单例模式 uscour = UserCourse() # 实例化表 uscour.user = request.user # 增加用户课程表 uscour.course = course uscour.save() # 学过该课的同学该学过模块 all_user = UserCourse.objects.filter(course=course) # 查询学过该课的用户都有谁 user_ids = [users.user_id for users in all_user] # 循环遍历这些用户,添加到数组中 # print(user_ids) # 筛选出表中user_id在数组中的queryset对象 course_all = UserCourse.objects.filter(user_id__in=user_ids).order_by('-course__click_nums') course_list = [] # 用于存储课程列表 for icourse in course_all: # 遍历queryset对象 if icourse.course_id != int(course_id) and icourse.course not in course_list: # 如果数组中遍历到当前课程,就pass掉, 如果该课程对象没有在列表中,就加入该列表 course_list.append(icourse.course) course_list = course_list[:5] # print(course_id) # print(course.id) # print(course_list) # 查询该课程的资源 courseresource = CourseResource.objects.filter(course=course) #加载数据库中评论 comments = CourseComments.objects.filter(course=course) #查询有关该课的评论 return render(request, 'course-comment.html', { 'course': course, # 用户学习的课程 'courseresource': courseresource, # 该课程的资源 'course_list': course_list, # 学过该课程的还学过的课程 'comments':comments #该课的用户评论 })
def course_video(request,course_id): if course_id: course = CourseInfo.objects.filter(id=course_id)[0] # 判断用户之前是否已经学习过了这门课程,没有学过则添加记录,学过则不做处理 userCourseList = UserCourse.objects.filter(study_man=request.user,study_course=course) if not userCourseList: a = UserCourse() a.study_man = request.user a.study_course = course a.save() #课程的学习人数加1 course.study_num += 1 course.save() #机构的学习人数加1 #获取当前客户学习过的所有课程 userCourseList = UserCourse.objects.filter(study_man=request.user) course_list =[userCourse.study_course for userCourse in userCourseList] #根据拿到的课程,找到每一个课程对应的机构 org_list = list(set([orgs.orginfo for orgs in course_list])) if course.orginfo in org_list: course.orginfo.study_num += 1 course.orginfo.save() #学过该课的同学还学过 #1 获取学习过当前课程的列表信息 userCourseList = UserCourse.objects.filter(study_course=course) #2 获取学习过当前课程的用户列表 userList = [userCourse.study_man for userCourse in userCourseList] #3 获取这些用户学习得课程列表信息,并过滤掉当前课程 userCourseList = UserCourse.objects.filter(study_man__in=userList).exclude(study_course = course) #4 获取到这些用户学习得课程 courseList = list(set([userCourse.study_course for userCourse in userCourseList])) return render(request,'courses/course-video.html',{ 'course':course, "courseList":courseList })
def get(self, request, course_id, *args, **kwargs): """ 获取课程章节详情 """ course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() comments = CourseComments.objects.filter( course=course).order_by("-add_time") # 查询客户是否已经关联课程 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() course.students += 1 course.save() # 学习过该课程的所有学生 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter( user_id__in=user_ids).order_by("-course__click_nums")[:5] related_courses = [ user_course.course for user_course in all_courses if user_course.course.id != course.id ] is_VIP = request.user.is_VIP is_nianVIP = request.user.is_nian_VIP # 对课程机构数据进行分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # Provide Paginator with the request object for complete querystring generation p = Paginator(comments, per_page=9, request=request) detailcomment = p.page(page) if is_VIP is True: # 课程资源下载 course_resources = CourseResource.objects.filter(course=course) user_is_vip = "true" user_is_nianVIP = "flase" return render( request, "course-comment.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses, "user_is_vip": user_is_vip, "comments": comments, "detailcomment": detailcomment, "user_is_nianVIP": user_is_nianVIP }) else: if is_nianVIP is True: course_resources = CourseResource.objects.filter(course=course) user_is_nianVIP = "true" user_is_vip = "false" return render( request, "course-comment.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses, "user_is_vip": user_is_vip, "user_is_nianVIP": user_is_nianVIP, "comments": comments, "detailcomment": detailcomment, }) user_is_vip = "false" user_is_nianVIP = "flase" # 课程资源下载 return render( request, "course-comment.html", { "course": course, "related_courses": related_courses, "user_is_vip": user_is_vip, "comments": comments, "user_is_nianVIP": user_is_nianVIP, "detailcomment": detailcomment, })
def get(self, request, course_id, *args, **kwargs): """ 获取课程章节详情 """ course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() # a=datetime.date.today() # request.user.birthday = a # request.user.save() # 查询客户是否已经关联课程 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() course.students += 1 course.save() # 学习过该课程的所有学生 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter( user_id__in=user_ids).order_by("-course__click_nums")[:5] related_courses = [ user_course.course for user_course in all_courses if user_course.course.id != course.id ] comments = CourseComments.objects.filter(course=course) comments_count = comments.count() is_VIP = request.user.is_VIP is_nianVIP = request.user.is_nian_VIP if is_VIP is True: a = datetime.date.today() if request.user.birthday != a: request.user.birthday = a request.user.request_numb = 1 request.user.save() else: if request.user.request_numb > 20: teacher = Teacher.objects.get(id=int(4)) msg = "您的账户有风险请把您的账号名发给官方邮箱:" + teacher.work_company + " 管理员会及时处理的哟! 温馨提示:请不要随意把账号分享给别人,异地登录可能会触发封号系统" return render(request, "submit-vip.html", {"msg": msg}) course_resources = CourseResource.objects.filter(course=course) user_is_vip = "true" user_is_nianVIP = "flase" request.user.request_numb += 1 request.user.save() return render( request, "course-video.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses, "user_is_vip": user_is_vip, "comments_count": comments_count, "user_is_nianVIP": user_is_nianVIP }) else: if is_nianVIP is True: a = datetime.date.today() if request.user.birthday != a: request.user.birthday = a request.user.request_numb = 1 request.user.save() else: if request.user.request_numb > 20: teacher = Teacher.objects.get(id=int(4)) msg = "您的账户有风险请把您的账号名发给官方邮箱:" + teacher.work_company + " 管理员会及时处理的哟! 温馨提示:请不要随意把账号分享给别人,异地登录可能会触发封号系统" return render(request, "submit-vip.html", {"msg": msg}) course_resources = CourseResource.objects.filter(course=course) user_is_nianVIP = "true" user_is_vip = "false" return render( request, "course-video.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses, "user_is_vip": user_is_vip, "comments_count": comments_count, "user_is_nianVIP": user_is_nianVIP }) user_is_vip = "false" user_is_nianVIP = "flase" # 课程资源下载 return render( request, "course-video.html", { "course": course, "related_courses": related_courses, "user_is_vip": user_is_vip, "comments_count": comments_count, "user_is_nianVIP": user_is_nianVIP })
def get(self, request, course_id, video_id, *args, **kwargs): """ 获取课程章节详情 """ course = Course.objects.get(id=int(course_id)) course.click_nums += 1 course.save() # 查询客户是否已经关联课程 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() course.students += 1 course.save() video = Video.objects.get(id=int(video_id)) # 学习过该课程的所有学生 user_courses = UserCourse.objects.filter(course=course) user_ids = [user_course.user.id for user_course in user_courses] all_courses = UserCourse.objects.filter( user_id__in=user_ids).order_by("-course__click_nums")[:5] related_courses = [ user_course.course for user_course in all_courses if user_course.course.id != course.id ] # 课程资源下载 course_resources = CourseResource.objects.filter(course=course) if video.url == "none": return render( request, "course-play-benfeng.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses, }) cookies = Teacher.objects.get(id=int(7)) # 获取视频资源 # agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36" # header = { # "Host": "weibo.com", # # "Referer": "https://weibo.com/tv/v/Ig92m5Vqy?fid=1034:4438479548141050", # "Referer": video.url, # "User-Agent": agent, # "Cookie": cookies.points # } # video_url = video.url # # response = requests.get(video_url, headers=header) # r = response.text # # video_name = video.video_name # s = video_name + "(.+?)KID" # d = re.findall(s, r) # c = d[0] # ssig = re.findall(r"ssig%3D(.+?)%26", c)[0] # expires = re.findall(r"Expires%3D(.+?)%26", c)[0] # new = ssig.replace("%25", "%") # # # url = "https://f.video.weibocdn.com/001kCDEJlx07yzHzQKHm01041201iZAQ0E010.mp4?label=mp4_720p&template=960x720.25.0&trans_finger=721584770189073627c6ee9d880087b3&Expires=" + expires + "&ssig=" + new + "&KID=unistore,video" # url = "https://f.video.weibocdn.com/" + video_name + "?label=mp4_720p&template=960x720.25.0&trans_finger=721584770189073627c6ee9d880087b3&Expires=" + expires + "&ssig=" + new + "&KID=unistore,video" # # url = "https://f.video.weibocdn.com/002rJVj8gx07B6rI753O01041204EKCy0E020.mp4?label=mp4_720p&template=960x720.25.0&trans_finger=721584770189073627c6ee9d880087b3&Expires=1584091647&ssig=I%2BUuMLJP8%2B&KID=unistore,video" # 获取视频资源 agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36" header = { "Host": "www.hzzlgy.cn", "Referer": video.video_name, "User-Agent": agent, "Cookie": "sessionid=xbt2fra3u43y42dnxwj8tlc185hhbpi5; csrftoken=aOEJdHNmq7l4AMcr0lzPS1QqYSQv7ridgDfDENyCgd63iu26PHJ3plRkp0Q8bcwb" } response = requests.get(video.url, headers=header) r = response.text d = re.findall("https://f.video.weibocdn.com/(.+?)KID", r) e = d[0] c = e.replace("&", "&") url = "https://f.video.weibocdn.com/" + c + "KID=unistore,video" return render( request, "course-play.html", { "course": course, "course_resources": course_resources, "related_courses": related_courses, "video": video, "url": url })