Оценка xblock из другого приложения диагностики
Есть ли способ оценить xblock вне его, например, из другого приложения edX django? Или опубликовать ответ на него со стороны.
1 ответ
Решение
Я использовал представления для этого
from submissions import api
from student.models import anonymous_id_for_user
submission_id = {"item_id": xblock.location,
"item_type": 'xblock',
"course_id": course_id,
"student_id": anonymous_id_for_user(user, course_id)}
submission = api.create_submission(submission_id, {'comment': 'some comment'}, attempt_number=1)
api.set_score(submission['uuid'], grade, weight))
Это было не совсем то, что мне нужно, но это было лучшее решение, которое может дать open edX.
Плюсы и минусы:
Плюсы: в ходе курса вы увидите оценку для этого xblock, а edx будет считать этот xblock пройденным
Минусы: xblock не будет считать себя пропущенным, поэтому, когда ученик откроет его, он сможет пропустить его снова, но мои xblocks не показываются студентам, поэтому для меня это не проблема