from otree.api import * doc = """ Your app description """ 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_1 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q1.普段から、買い物をするときはよく考えてから買い物をする', widget=widgets.RadioSelect() ) q_2 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q2.普段から、買うつもりだったものしか買わない', widget=widgets.RadioSelect() ) q_3 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q3.何かを買うときは、たいてい自発的に購入する', widget=widgets.RadioSelect() ) q_4 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q4.普段の買い物のほとんどは事前に計画していたものである', widget=widgets.RadioSelect() ) q_5 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q5.本当に必要なものしか購入しない', widget=widgets.RadioSelect() ) q_6 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q6.買って満足するタイプではない', widget=widgets.RadioSelect() ) q_7 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q7.買う前にはいろいろなブランドのものも比較したい', widget=widgets.RadioSelect() ) q_8 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q8.何かを買う前に、それが必要かどうかを慎重に考える', widget=widgets.RadioSelect() ) q_9 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q9.即座にその場で買うことに慣れている', widget=widgets.RadioSelect() ) q_10 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q10.考えずに買い物をすることが度々ある', widget=widgets.RadioSelect() ) q_11 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q11.お店で見た素敵なものを無視することができない', widget=widgets.RadioSelect() ) q_12 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q12.買いたいという気持ちを抑えきれないことがある', widget=widgets.RadioSelect() ) q_13 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q13.買ったあとに罪悪感を感じることがある', widget=widgets.RadioSelect() ) q_14 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q14.お店で見たものに一目惚れするようなタイプではない', widget=widgets.RadioSelect() ) q_15 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q15.買いたいものがあるとテンションが上がることがある', widget=widgets.RadioSelect() ) q_16 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q16.お店の前を通ると、いつも素敵なものが目に入る', widget=widgets.RadioSelect() ) q_17 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q17.お買い得商品に弱い', widget=widgets.RadioSelect() ) q_18 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q18.新しいものを見ると買いたくなる', widget=widgets.RadioSelect() ) q_19 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q19.少し無茶な買い物をしてしまう', widget=widgets.RadioSelect() ) q_20 = models.IntegerField(initial=None, choices = [ [1, "全くあてはまらない"], [2, "ほとんどあてはまらない"], [3, "あまりあてはまらない"], [4, "どちらともいえない"], [5, "ややあてはまる"], [6, "かなりあてはまる"], [7, "非常にあてはまる"] ], verbose_name='Q20.必要だから買うというより、買い物が好きだから買うということがある', widget=widgets.RadioSelect() ) q_gender = models.CharField(initial=None, choices=['男性', '女性', '回答したくない'], verbose_name='あなたの性別を教えてください。', widget=widgets.RadioSelect()) q_age = models.IntegerField(verbose_name='あなたの年齢を教えてください。', min=0, max = 30, initial=None) q_earning = models.CharField(initial=None, choices=['有償労働経験無し','5万円以下', '5~10万円', '10~15万円','15~20万円','20~40万円','40万円以上'], verbose_name='あなたの平均月収を教えてください。', widget=widgets.RadioSelect()) q_custom = models.CharField(initial=None, choices=['常にそう', '比較的そうだが、そうでないことも時々ある','半々である', '比較的そうではないが、時々自分の給料から払う','自分の給料からの支出はない'], verbose_name='普段の買い物は、自分が働いて得た給料からのみ支払っている。', widget=widgets.RadioSelect()) q_faculty = models.StringField(initial=None, verbose_name='所属学院') q_department = models.StringField(initial=None, verbose_name='所属系') # PAGES class Page1(Page): form_model = 'player' form_fields = [ 'q_1', 'q_2', 'q_3', 'q_4', 'q_5', 'q_6', 'q_7', 'q_8', 'q_9', 'q_10', 'q_11', 'q_12', 'q_13', 'q_14', 'q_15', 'q_16', 'q_17', 'q_18', 'q_19', 'q_20', ] class Page2(Page): form_model = 'player' form_fields = [ 'q_gender', 'q_age', 'q_earning', 'q_custom', 'q_faculty', 'q_department' ] class ResultsWaitPage(WaitPage): pass class Results(Page): pass page_sequence = [Page1, Page2, Results]