oTree学习教程(三)Pages

Pages

玩家看到的每个页面都是由一个Page类定义的pages.py

pages.py必须有一个page_sequence 给出页面顺序的变量。例如:

如果您的游戏有多轮,则会重复此顺序。有关详细信息,请参阅轮次

一个Page类可以有以下任何一种可选的方法和属性。

is_displayed()

True如果应显示页面,则可以定义此函数以返回; 如果应跳过页面,则可以定义为False。如果省略,将显示该页面。

例如,要仅在每个组中将页面显示为P2:

或者只显示第1轮中的页面:

如果您需要为许多页面重复相同的规则,请参阅此处

你输入的代码is_displayed()应该返回TrueFalse; 它不应该有任何副作用,例如修改模型字段。

vars_for_template()

使用此选项将变量传递给模板。例:

然后在模板中,您可以访问ab像这样:

oTree自动将以下对象传递给模板:player,group,subsession,participant,session和Constants。 您可以在模板中访问它们,如下所示:{{Constants.blah}}或{{player.blah}}。

如果需要将相同的变量传递给多个页面,请参见此处

before_next_page()

在这里,您可以定义在表单验证之后应该执行的任何代码,然后播放器进入下一页。

如果跳过该页面is_displayed,则before_next_page也会跳过该页面。

例:

TEMPLATE_NAME 

每个页面都应该有一个templates/同名的文件。例如,如果您的应用包含此页面my_app/pages.py

然后你应该创建一个文件my_app/templates/my_app/Page1.html,(注意my_app是重复的)。见模板,了解如何编写一个HTML模板信息。

如果模板需要与页面类具有不同的名称(例如,您为多个页面共享相同的模板),请进行设置template_name。例:

timeout_seconds,timeout_submission等

请参阅超时

等待页面

请参阅等待页面

随机化页面序列

您可以使用轮次随机化页面顺序。这里有一个例子。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值