def lesson(request, course_id): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('users:login')) user_course = UserCourse() #我的课程添加 course_ids = '' for all_courses_ids in UserCourse.objects.filter(user_id=request.user.id): course_ids += str(all_courses_ids.course_id) if course_id not in course_ids: user_course.user_id = int(request.user.id) user_course.course_id = int(course_id) user_course.save() course = Course.objects.get(pk=int(course_id)) course.students += 1 course.save() all_lessons = Lesson.objects.filter(course_id=course_id) all_resources = CourseResource.objects.filter(course_id=course_id) return render( request, 'course-video.html', { 'course': course, 'all_lessons': all_lessons, 'all_resources': all_resources, })
def get(self, request, course_id): Flag = 3 id = request.session.get("id") user_obj = UserProfile.objects.filter(id=id).first() if user_obj: #开始读取页面 course_obj = Course.objects.filter(id=course_id).first() uc_obj = UserCourse.objects.filter(user_id=id, course_id=course_id).first() if uc_obj: pass #已经在学习 else: u_course = UserCourse() u_course.user_id = id u_course.course_id = course_id u_course.save() #课程表学习人数加1 course_obj.students += 1 course_obj.save() #资源下载 all_resource = CourseResource.objects.filter( course_id=course_id).all() if course_obj: #存在课程 return render(request, "course-video.html", locals()) else: return redirect("/course/list/", locals()) else: return redirect("/login/")
def post(self, request): user_id = request.user.id course_id = request.POST.get('course_id', 0) course = Course.objects.get(id=course_id) #增加学习课程的数据记录 if request.user.is_authenticated(): user_course = UserCourse() #判断是否存在记录 exist_records = UserCourse.objects.filter(user_id=int(user_id), course_id=int(course_id)) if not exist_records: user_course.user_id = user_id user_course.course_id = course_id user_course.save() #更新课程学习人数 students = UserCourse.objects.filter( course_id=int(course_id)).count() course.students = students course.save() return HttpResponse('{"status":"transfer","msg":"正在学习"}', content_type='application/json') else: exist_records.delete() # 更新课程学习人数 students = UserCourse.objects.filter( course_id=int(course_id)).count() course.students = students course.save() return HttpResponse('{"status":"concel","msg":"我要学习"}', content_type='application/json') else: return HttpResponse('{"status":"fail","msg":"用户未登录"}', content_type='application/json')