我正在开发一个OpenEdx Xblock。
我需要在所有用户和所有xblock中保持一个值。
此值最终可能会更改,但只能由服务器管理员更改。
我的想法是在 cms.env.json 中创建新的参数,并在我的xblock中检索该参数。我还没有找到这个主题的文档。
答案 0 :(得分:1)
执行此操作的正确方法是将设置存储在具有以下范围的XBlock字段中:
BlockScope = TYPE
UserScope = NONE
(请参阅有关xblock范围的文档:http://edx.readthedocs.io/projects/xblock/en/latest/fields.html#xblock.fields.Scope)
不幸的是,这样的范围不存在......所以你坚持使用django设置。如果您希望将此设置存储在*.env.json
文件中,那么您可以从xblock中读取值:
from django.conf import settings
yourfeature = settings.FEATURES.get('yourfeature', 'defaultvalue')
不要忘记在lms.env.json
和cms.env.json
中存储此功能值! (如果您在LMS和CMS中都需要此功能)