from otree.api import * doc = """ Your app description """ # 繰り返し表示する質問については関数を使って単純化 def make_field(label): return models.IntegerField( initial=None, choices=[ [1, '全くそう思わない'], [2, 'そう思わない'], [3, 'どちらかと言えばそう思わない'], [4, 'どちらでもない'], [5, 'どちらかと言えばそう思う'], [6, 'そう思う'], [7, '強くそう思う'] ], label=label, widget=widgets.RadioSelect, ) # 信頼に関する質問 class C(BaseConstants): NAME_IN_URL = 'questionnaire' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): q_gender = models.CharField(initial=None, choices=['男性', '女性','回答しない'], verbose_name='あなたの性別を教えてください.', widget=widgets.RadioSelect()) # ラジオボタンを使うときには"widget"で設定できる. q_age = models.IntegerField(verbose_name='あなたの年齢を教えてください.', choices=range(0, 125), initial=None) # 数字の場合は"choices"を使うことで,範囲を指定できる. # 0<=選択範囲<125になるので,表示される最小値は0,最大値は124になる. q_country = models.CharField(initial=None, choices=['北海道', '青森県', '岩手県', '宮城県', '秋田県', '山形県', '福島県','茨城県', '栃木県', '群馬県', '埼玉県', '千葉県', '東京都', '神奈川県','新潟県', '富山県', '石川県', '福井県', '山梨県', '長野県', '岐阜県', '静岡県', '愛知県', '三重県','滋賀県', '京都府', '大阪府', '兵庫県', '奈良県', '和歌山県','鳥取県', '島根県', '岡山県', '広島県', '山口県','徳島県', '香川県', '愛媛県', '高知県','福岡県', '佐賀県', '長崎県', '熊本県', '大分県', '宮崎県', '鹿児島県', '沖縄県'], verbose_name='あなたのおすまいの地域を教えてください.') q_tanmatsu = models.CharField(initial=None, choices=['パソコン', 'タブレット', 'スマートフォン', 'それ以外' ], verbose_name='この回答は、どの電子機器で回答していますか?', widget=widgets.RadioSelect ) q_live = models.CharField(initial=None, choices=['はい', 'いいえ'], verbose_name='現在、あなたは一人暮らしですか?', widget=widgets.RadioSelect() ) q_student = models.BooleanField(initial=None, choices=['はい', 'いいえ'], verbose_name='現在、あなたは学生ですか?', widget=widgets.RadioSelect() ) q_trust1 = make_field('ほとんどの人は基本的に正直である') q_trust2 = make_field('ほとんどの人は信頼できる') q_trust3 = make_field('ほとんどの人は基本的に善良で親切である') q_trust4 = make_field('ほとんどの人は他人を信頼している') q_trust5 = make_field('私は人を信頼するほうである') q1_trust1 = make_field('ほとんどの人は基本的に正直である') q1_trust2 = make_field('ほとんどの人は信頼できる') pizza = models.IntegerField( widget=widgets.RadioSelect, choices=[-3, -2, -1, 0, 1, 2, 3] ) # PAGES class Page1(Page): form_model = 'player' form_fields = [ 'q_gender', 'q_age', 'q_country', 'q_tanmatsu', 'q_live', 'q_student' ] class Page2(Page): form_model = 'player' form_fields = [ 'q_trust1', 'q_trust2', 'q_trust3', 'q_trust4', 'q_trust5', 'q1_trust1', 'q1_trust2', 'pizza' ] page_sequence = [Page1, Page2]