edx中course_id和course_key转换及DescriptorWithMixins

本文详细解析了使用Python工程师在课程管理中如何通过课程ID获取课程信息、模块、章节和节段,并讨论了访问权限和注册状态的判断。
course_key = SlashSeparatedCourseKey.from_deprecated_string(course_id)

course_id =  course_key.to_deprecated_string()

#  CourseDescriptorWithMixins
course = get_course_with_access(user, 'load', course_key, depth=2)  

#  CourseDescriptorWithMixins
course_module = get_module_for_descriptor(user, request, course, field_data_cache, course_key)

#  SequenceDescriptorWithMixins
chapter_descriptor = course.get_child_by(lambda m: m.location.name == chapter)

#  SequenceDescriptorWithMixins
section_descriptor = chapter_descriptor.get_child_by(lambda m: m.location.name == section)
section_descriptor = modulestore().get_item(section_descriptor.location, depth=None)

staff_access = has_access(user, 'staff', course)  

registered = registered_for_course(course, user)  #用户是否注册课程


转载于:https://my.oschina.net/u/2002748/blog/388526

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值