from otree.api import * doc = """ Your app description """ def make_image_data(image_names): return [dict(name=name, path='IQTest/{}'.format(name)) for name in image_names] class C(BaseConstants): NAME_IN_URL = 'iqtest' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): input1 = models.IntegerField( choices=[1,2,3,4,5,6,7,8] ) score = models.IntegerField(initial=0) # PAGES class Play(Page): form_model = 'player' form_fields = ['input1'] @staticmethod def vars_for_template(player: Player): image_names = [ '1/1.png', '1/2.png', '1/3.png', '1/4.png', '1/5.png', '1/6.png', '1/7.png', '1/8.png', ] solutions = [ 5, ] return dict(image_data=make_image_data(image_names), solutions = solutions) class MyPage(Page): pass class ResultsWaitPage(WaitPage): pass class Results(Page): @staticmethod def live_method(player, data): player.score = data["points"]; @staticmethod def js_vars(player): solutions = [ 5, ] return dict( solutions=5, choice1=5, ) class Instructions(Page): pass class Instructions2(Page): pass page_sequence = [Instructions, Instructions2, Play, Results]