Otree技术问询:如何访问自动生成的participant.id_in_session变量
OTree中访问
id_in_session等系统自带参与者属性的正确方式 id_in_session这类变量是OTree为participant对象自动生成的系统属性,并不存放在participant.vars这个自定义变量字典里,所以用player.participant.vars['id_in_session']肯定调用失败。
正确的访问方式是直接访问participant对象的属性:
- 在Python代码(比如pages.py里的页面逻辑)中:
# 正确获取id_in_session session_id = player.participant.id_in_session - 在HTML模板中,可以直接通过模板变量调用:
<p>你的会话ID是: {{ participant.id_in_session }}</p>
除了id_in_session,OTree的participant对象还有不少自带的系统属性,都是直接访问即可,比如:
participant.code:参与者的随机码participant.label:参与者的标识(如果设置了的话)participant._index_in_pages:当前参与者所处的页面索引
简单来说,participant.vars是留给你存自定义参与者数据的容器,系统自带的属性直接从participant对象本身取就行。
内容的提问来源于stack exchange,提问作者Papayapap
相关产品推荐
相关产品推荐

