from otree.api import * doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'mysurvey' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): treatment=models.IntegerField() Q0=models.FloatField(label="") Q1=models.FloatField(label="") Q2=models.FloatField(label="") Q3=models.FloatField(label="") Q4=models.FloatField(label="") Q5=models.FloatField(label="") q_gender = models.CharField(initial=None, choices=['62', '73', '29', '回答しない'], verbose_name='(1) 何が見えますか。
', widget=widgets.RadioSelect()) test = models.CharField(initial=None, choices=['あひる', 'くじゃく', '金魚', '回答しない'], verbose_name='(2) 何が見えますか。
', widget=widgets.RadioSelect()) q_department = models.CharField(initial=None, choices=['はい', 'いいえ', '回答しない'], verbose_name='(3) あなたはアンカリング効果を知っていますか。', widget=widgets.RadioSelect()) q_understanding = models.TextField(initial=None, verbose_name='(4) (3)の質問で”はい”と選んだ人は、アンカリング効果について知っていることを書いてください。(自由記入)記入しない場合は「特になし」と記入してください。', max_length=600) q_max_payoff = models.CharField(initial=None, choices=['はい', 'いいえ', '回答しない'], verbose_name='(5) あなたは東京都千代田区の年平均気温を知っていましたか。', widget=widgets.RadioSelect()) q_max_payoffsum = models.CharField(initial=None, choices=['はい', 'いいえ', '回答しない'], verbose_name='(6) あなたはカルシウムの融点を知っていましたか。', widget=widgets.RadioSelect()) q_estimate_others = models.CharField(initial=None, choices=['はい', 'いいえ', '回答しない'], verbose_name='(7) あなたは立命館大学大学BKCの面積を知っていましたか。', widget=widgets.RadioSelect()) q_decision_process = models.CharField(initial=None, choices=['はい', 'いいえ', '回答しない'], verbose_name='(8) あなたはエッフェル塔の高さを知っていましたか。', widget=widgets.RadioSelect()) q_decision_change = models.CharField(initial=None, choices=['はい', 'いいえ', '回答しない'], verbose_name='(9) あなたは火星の赤道半径を知っていましたか。', widget=widgets.RadioSelect()) q_best_strategy = models.TextField(initial=None, verbose_name='(10) 赤色に対するイメージを書いてください。(自由記入)記入しない場合は「特になし」と記入してください。', max_length=600) risk = models.TextField(initial=None, verbose_name='(11) 青色に対するイメージを書いてください。(自由記入)記入しない場合は「特になし」と記入してください。', max_length=600) ank = models.TextField(initial=None, verbose_name='(12) その他ご意見・ご感想を書いてください。(自由記入)記入しない場合は「特になし」と記入してください。', max_length=600) q_age = models.IntegerField(initial=None, verbose_name='あなたの年齢を教えてください', choices = [ [i, str(i)] for i in range(18, 65)] +[[65, '回答しない']]) # FUNCTIONS def creating_session(subsession: Subsession): for p in subsession.get_players(): import random p.treatment = random.choice([1,2,3]) # PAGES class start(Page): pass class consent(Page): pass class MyPage(Page): form_model = 'player' form_fields = ['Q0'] class result3(Page): form_model = 'player' form_fields = ['Q1'] class result4(Page): form_model = 'player' form_fields = ['Q2'] class result5(Page): form_model = 'player' form_fields = ['Q3'] class result6(Page): form_model = 'player' form_fields = ['Q4'] class result7(Page): form_model = 'player' form_fields = ['Q5'] class Results(Page): pass class Results2(Page): form_model = 'player' form_fields = [ 'q_gender', 'test', 'q_department', 'q_understanding', 'q_max_payoff', 'q_max_payoffsum', 'q_estimate_others', 'q_decision_process', 'q_decision_change', 'q_best_strategy', 'risk', 'ank'] class end(Page): pass page_sequence = [start, consent, MyPage, result3, result4, result5, result6, result7, Results2, end ]