from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) from django.db import models as djmodels import random import os import itertools import pandas as pd import random from glob import glob from os import getcwd from os.path import join from os.path import expanduser, join author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'BAseminar' players_per_group = None num_rounds = 1 data = pd.read_csv("picdata.csv", delimiter=",", encoding = "latin1") df = pd.DataFrame(data, columns=['picture_lab', 'usefulness', 'sub_eval_1', 'sub_eval_2', 'originality', 'innovation']) dirpath = os.getcwd() endowment = c(10) class Subsession(BaseSubsession): def creating_session(self): for player in self.get_players(): player.treat = random.choice(['Control', 'Promotion']) print('set player.treat to', player.treat) class Group(BaseGroup): pass class Player(BasePlayer): presence = models.IntegerField( choices=[ [0, 'Ich würde lieber an einer digitale Veranstaltung teilnehmen'], [1, 'Ich würde lieber an einer Präsenzveranstaltung teilnehmen'] ], widget = widgets.RadioSelect ) invest_1 = models.FloatField(label='Wie viel wollen Sie auf die kreative Idee von Innovator 1 setzen?') invest_2 = models.FloatField(label='Wie viel wollen Sie auf die kreative Idee von Innovator 2 setzen?') treat = models.StringField() orig1 = models.FloatField() orig2 = models.FloatField() orig3 = models.FloatField() qual1 = models.FloatField() qual2 = models.FloatField() qual3 = models.FloatField() tot1 = models.FloatField() tot2 = models.FloatField() pay1 = models.FloatField() pay2 = models.FloatField() # risk_preference = models.IntegerField( # choices=[ # [0, 'Gar nicht risikobereit'], # [1, 'Eher nicht risikobereit'], # [2, 'Mittelmäßig risikobereit'], # [3, 'Eher risikobereit'], # [4, 'Sehr risikobereit'] # ], # label='Wie sehen Sie sich selbst: Sind Sie bereit, Risiken einzugehen, oder versuchen Sie sie zu verhindern?', # widget=widgets.RadioSelectHorizontal # ) # gender = models.IntegerField( # choices=[ # [0, 'männlich'], # [1, 'weiblich'], # [2, 'divers'] # ], # label='Bitte geben Sie an, welchem Geschlecht Sie sich zuordnen.', # widget=widgets.RadioSelect # ) payment = models.FloatField() name = models.StringField(label='Bitte geben Sie hier ihr gewünschtes Pseudonym ein')