3

我正在开发一个 OpenEdx Xblock。
我需要在所有用户和所有 xblocks 中保持一个值。此值最终可能会更改,但只能由服务器管理员更改。 我的想法是在cms.env.json
中创建新参数,并在我的 xblock 中检索该参数。我还没有找到这个主题的文档。

4

1 回答 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.jsoncms.env.json!(前提是您在 LMS 和 CMS 中都需要此功能)

于 2016-08-18T09:37:14.997 回答