这是您创建课程的方式:
from xmodule.modulestore.django import modulestore
from datetime import datetime
store.create_course(
"org", "num", "run", # course ID
1, # course creator user ID
# Set the start date of the course to the start of the year
fields={"start": datetime(2016, 1, 1)}
)
看到fields
论证了吗?这是可以定义新课程的属性。可以定义的属性列表在common.lib.xmodule.xmodule.course_module:CourseFields中可用。在上面的示例中,我们定义了start
属性,但可以使用相同的方法定义其他字段。
如果您希望在创建课程属性后修改它,例如start
属性,您可以这样做:
from opaque_keys.edx.keys import CourseKey
course = store.get_course(CourseKey.from_string("course-v1:org+num+run"))
course.start = datetime.now()
course.save()
请注意,这不包括定义每门课程的评估。以编程方式定义它更复杂。grading_handler
通过查看内容存储视图中的视图,您可以更好地了解如何定义分级设置。正如我们所见,所有的评分信息都存储在一个CourseGradingModel
. 您需要的方法是update_from_json
.