問題文 :
コース作成者が画像をアップロードし、コースコンテンツのスライダーとして表示される各画像にテキストの説明を関連付けることができる edx-platform 用のカスタム「XBlock」を開発したいと考えています。
いくつかの静止画像を操作する基本的なスライダーがありますが、Xblock を使用して画像をアップロードするときに問題が発生します。基本的に、この機能を実現するには 2 つの方法があると思います。
edx のデフォルト API を使用して画像アセットをアップロードし、xblock コンテンツでその相対パスを取得します。ただし、これについてどうすればよいかわかりません.. cmsのurl.pyから以下のURLにリクエストを送信しています:
url(r'^assets/{}/{}?$'.format(settings.COURSE_KEY_PATTERN, settings.ASSET_KEY_PATTERN), 'assets_handler'),
インターネット上の他のソースから、ファイルをサーバーにアップロードする xblock 用のカスタム アップロード ハンドラを作成する必要があるかもしれないと考えました。
メソッド : 2 を使用してハンドラーを作成しようとしましたが、Ajax multipart/form-data を使用して画像をアップロードするとすぐに、次のエラーが発生しました。
トレースバック (最新の呼び出しが最後):
ファイル "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py" の 132 行目、get_response で
response = wrap_callback(request, *callback_args, **callback_kwargs)ファイル "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/decorators.py"、145 行目、内部
return func(*args, **kwargs)ファイル "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/decorators.py"、145 行目、内部
return func(*args, **kwargs)ファイル "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py"、22 行目、_wrapped_view
return view_func(request, *args, * *kwargs)ファイル "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/component.py"、359 行目、component_handler で
webob_to_django_response(resp) を返すファイル "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/xblock/django/request.py"、14 行目、webob_to_django_response
webob_response.app_iter、AttributeError: 'dict' オブジェクトに属性 'app_iter' がありません
この問題にどのように取り組むべきかについてのヒントは、非常に役立ちます。前もって感謝します。