0

我能够编写一个 python 脚本来检查标签之间的 edx 问题。但是我想从文件中包含一个 python 函数,以便在几个问题中重用代码。我尝试了以下代码:

<problem>
  <script type="loncapa/python" src="/static/textinput.py" />

  <customresponse cfn="check_function">
    <script type="loncapa/python">
<![CDATA[
import json

def check_function(e, ans):

# ... my code ...

    </script>

    <jsinput
      gradefn="getGrade"
      get_statefn="getState"
      set_statefn="setState"
             initial_state='{"selectedChoice": "[]"}'
      width="600"
      html_file="/static/Ex1_3 v2.html"
      title="Problem"
      sop="false"/>
  </customresponse>
</problem>

保存问题时出现以下错误:

问题block-v1:Casal+Basic1+1701+type@problem+block@55479f8087e64d2395b730037cbe83c3 has an error: cannot create LoncapaProblem block-v1:Casal+Basic1+1701+type@problem+block@55479f8087e64d2395b730037'cbe85b730037'cbe83没有属性N3 '代替'

回溯(最后一次调用):
文件“/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/capa_base.py”,第 234 行,init
self.lcp = self.new_lcp(self.get_state_for_lcp ())
文件“/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/capa_base.py”,第 328 行,在 new_lcp
capa_module=self,#njp 文件“/edx/app/edxapp/edx -platform/common/lib/capa/capa/capa_problem.py”,第 192 行,在init
self.context = self._extract_context(self.tree)
文件中“/edx/app/edxapp/edx-platform/common/lib/ capa/capa/capa_problem.py”,第 728 行,在 _extract_context
代码 = unescape(script.text, XMLESC)
文件“/usr/lib/python2.7/xml/sax/saxutils.py",第 46 行,在 unescape 中
数据 = data.replace("<", "<")

是否有可能做到这一点?如果是这样,使用标签是否正确:?当然文件 textinput.py 已上传并且在 python 中运行良好。

<script type="loncapa/python" src="/static/textinput.py" />

4

0 回答 0