我正在开发一个 OpenEdx Xblock。
我需要在所有用户和所有 xblocks 中保持一个值。此值最终可能会更改,但只能由服务器管理员更改。
我的想法是在cms.env.json
中创建新参数,并在我的 xblock 中检索该参数。我还没有找到这个主题的文档。
问问题
162 次
1 回答
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 中都需要此功能)
于 2016-08-18T09:37:14.997 回答