从工作室中的自定义XBlock上传文件[edx-platform]

时间:2016-03-18 12:40:05

标签: edx openedx

问题陈述:

我想开发一个定制的" XBlock"对于允许课程创建者上传图像的edx-platform,将文本描述与每个图像相关联,这些图像将在课程内容中显示为Slider。

我有一个基本的滑块使用一些静态图像,但是我在使用Xblock上传图像时遇到了一些问题。基本上我认为有两种方法可以实现这个功能。

  1. 使用edx的默认API上传图片资源,然后在xblock内容中重新查找其相对路径。但是,我不确定我应该如何解决这个问题。从cms" url.py发送下面网址的请求:

    url(r' ^ assets / {} / {}?$' .format(settings.COURSE_KEY_PATTERN,settings.ASSET_KEY_PATTERN),' assets_handler'),

    < / LI>
  2. 从其他一些sources on the internet,我想我可能应该为我的xblock创建一个自定义上传处理程序,将上传文件到服务器。

  3. 我尝试使用方法:2创建一个处理程序,但是一旦我使用Ajax multipart / form-data上传我的图像,我就遇到了以下错误。

    Traceback (most recent call last):
      File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
        response = wrapped_callback(request, *callback_args, **callback_kwargs)
      File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/decorators.py", line 145, in inner
        return func(*args, **kwargs)
      File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/decorators.py", line 145, in inner
        return func(*args, **kwargs)
      File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 22, in _wrapped_view
        return view_func(request, *args, **kwargs)
      File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/component.py", line 359, in component_handler
        return webob_to_django_response(resp)
      File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/xblock/django/request.py", line 14, in webob_to_django_response
        webob_response.app_iter,
    AttributeError: 'dict' object has no attribute 'app_iter'
    

    关于如何解决这个问题的任何提示都会有很大帮助。提前谢谢。

0 个答案:

没有答案