from otree.api import * doc = """ Your app description """ def make_image_data(image_names): return [dict(name=name, path='global/{}.jpg'.format(name)) for name in image_names] class Constants(BaseConstants): name_in_url = 'AttentionCheck' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): # record the submission for each task failed = models.BooleanField(initial=False) img = models.StringField() # PAGES 3 = human class MyPage(Page): form_model = 'player' form_fields = ['img'] @staticmethod def is_displayed(player: Player): return player.round_number == 1 @staticmethod def app_after_this_page(player, upcoming_apps): print('upcoming_apps is', upcoming_apps) if player.img == 'AChuman': return "welcome" @staticmethod def vars_for_template(player: Player): image_names = ['AChuman', 'AClion', 'ACrabbit'] import random random.shuffle(image_names) return dict( image_data=make_image_data(image_names) ) # # # @staticmethod # def vars_for_template(player: Player): # image_names = [ # 'AClion.jpg', # 'ACrabbit.jpg', # 'AChuman.jpg', # ] # return dict(imag_data=make_image_data(image_names)) class ResultsWaitPage(WaitPage): pass class dropout(Page): pass page_sequence = [MyPage, dropout]