MASTER →  ADMIN / NEW ENTRY / COMMENT
oTree インストールおよび起動ができている状態で、Pycharmでひらいています。
インストール方法について→【実験】oTree インストール方法
ファイル構成について  →  2-1【実験】oTree のなかみ (ファイル構成) 
view.pyについて      →   2-2【実験】oTree views.py

◆ model.py
class Constants(BaseConstants):
>該当プロジェクトの大枠を設定する場所であり、定数を置く場所のイメージ。

name_in_url = 'XXXXXXXX'
>URLの名前。settings.pyファイル(詳細:(準備中))と同一にしておく必要がある。


num_rounds = 5
view.pyのpage_sequenceで設定したページを何回繰り返すか。ここでは、5回繰り返す設定にしている。
※ 詳細  2-2【実験】oTree views.pyのpage_sequenceを参照。



他にも、画面から被験者の入力ではなく、システム側で設定する定数や定型文、配列を設定できる。
例えば、
----------------------
training_1_choices = [
'Alice gets hoge points, Bob gets 0 points',
'Alice gets 200 points, Bob gets 200 points',
'Alice gets 0 points, Bob gets 300 points',
'Alice gets 100 points, Bob gets 100 points'
]
----------------------
と、設定する。これは、画面上でラジオボタンで選べるようにできる。
まず、class Player(BasePlayer): で設定する。

class Player(BasePlayer):
>該当プロジェクトで入力された値をExcel(データベース)に入力するところのイメージ。
class Player(BasePlayer)にて、以下の通り設定する。
----------------------
training_question_1 = models.CharField(
choices=Constants.training_1_choices,
widget=widgets.RadioSelect(),
)
----------------------
choices=の部分に、class Constantsで設定したtraining_1_choicesを設定しているのが分かる。
widgetは、それをラジオボタンで選べるように(RadioSelect)を指定している。
Question.htmlを開いてみると、
----------------------
{% formfield player.training_question_1 with label='Suppose Alice chose to defect and Bob chose to cooperate. How many points would Alice and Bob receive, respectively?' %}
----------------------
がある。ここで、表示している。





入力された値は、【player.training_question_1】 の名前でデータ保存(データベース、何もしてなければExcelファイルの列名として)されている。





class Subsession(BaseSubsession):
→詳細:(準備中)

class Group(BaseGroup):
→詳細:(準備中)

oTree インストールおよび起動ができている状態で、Pycharmでひらいています。
インストール方法について→【実験】oTree インストール方法
ファイル構成について  →  2-1【実験】oTree のなかみ (ファイル構成)


◆ view.py

class 名は、html名と対応しています。



例えば
Introduction.htmlに対応しているのが、
class Introduction(Page):
になります。

同じくview.pyにある【page_sequence】というところで、どのページ(html)を出すかが決定しています。
つまり、Introduction.html → Question.html .html → Feedback1.html → Decision.html → ResultsWaitPage.html → Results.html の順番に表示します。




何回繰り返すかというのは、model.pyの【num_rounds】で回数を指定してください。
※詳細はこちら→(準備中)


【page_sequence】で指定したページは、
model.pyの【num_rounds】で指定した回数1回ずつ繰り返されます。
例えば、num_rounds=3としていすると、
Introduction.html → Question.html .html → Feedback1.html → Decision.html → ResultsWaitPage.html → Results.html →(2回目)Introduction.html → Question.html .html → Feedback1.html → Decision.html → ResultsWaitPage.html → Results.html →(3回目)ntroduction.html → Question.html .html → Feedback1.html → Decision.html → ResultsWaitPage.html → Results.html という形で表示されます。


例えば、10回目のラウンドだけ、表示したいページ(html)があれば、
こちらを参照してください→(準備中)。



oTree インストールおよび起動ができている状態で、Pycharmでひらいています。


①画面を構成するhtmlファイル                                                 
templateのプログラム名ファイル直下にある
> 拡張子がhtmlのファイルは、画面にでているソースコードです
ここのファイルをいじると、ブラウザにでてくる文字などが変わります。

 

②画面と内部処理を行うpyファイル                                           
templete直下にある
> 拡張子がpyのファイルは、pythonファイルです
views.py】は、画面で入力された値とのやり取りを表します
※詳細は、2-2【実験】oTree views.py  をみてください。
model.py】は、views.pyでうけとった値を計算したり、データベース(Excel)に格納したりします。
※詳細は、(準備中)ここをみてください。


-----------------------
①のhtmlファイルと②のpyファイルだけで基本的には動きます。
私が作ったときは、再帰処理をしたので、javascriptとCSSファイルを追加しました。
pycharmからではなく、oTreeフォルダの中からで直接メモ帳(sakuraエディタ)つかっていじりました。

③Javascriptファイル                                                 
> 拡張子がjsのファイルは、Javascriptファイルです
今回は、\oTree\_static\globalにjsファイルを置き、①のhtmlファイルの中でパスを指定して読み込ませました。

④CSSファイル                                                            
> 拡張子がcssのファイルは、cssファイルです
画面のデザインだったりを使うときに便利です。
今回は、\oTree\_static\globalにcssファイルを置き、①のhtmlファイルの中でパスを指定して読み込ませました。
cd otree
コマンドプロンプトでoTreeフォルダに移動

otree startapp hogehoge  
※hogehogeにはプロジェクト名を入れる

プロジェクトが作成できたかどうかはpycharm起動して確認。
つくった新規プロジェクトの models.pyをひらく設定をいじることができる。


③パソコン上でoTreeのフォルダにあるsettings.py を開く
Webサイト上からアクセスできるように追加する

=============================================
SESSION_CONFIGS = [
                                   'name': 'XXXXXX',
                                   'display_name': "XXXXXX",
                                    'num_demo_participants': 3,
                                    'app_sequence': ['XXXXXX'],
    },
]
=============================================

④コマンドプロンプトでサーバー起動
otree runserver

コマンドプロンプトにてデータベースをリセットする。※全データ消えるから注意
otree resetdb


⑤ http://127.0.0.1:8000 をひらいて新しいプロジェクトがあるか確認
インストール方法は、こちらを参照してください→【実験】oTree インストール方法

①Pycharmをインストールする
エディタであるpycharmをインストール(Eclipseみたいなもの)
https://www.jetbrains.com/pycharm/
※私がインストールしたときは、Commonが無料でした


②インストールしたPycharmを起動します


③Pycharm の [file] ⇒[open]で、編集したいファイルを開きます
今回は試しにmatching_penniesを開きました。


④matching_pennies のソースコードがひらくから、試しにInstrugtion.htmlに「ほげほげ」って追加してみる


⑤localhost上でも「ほげほげ」が反映されていることを確認する
≪  1  2  3  4  5  6  7  ≫
【お知らせ】
◆お問合せ 88.hakumai.saiko@gmail.com

ブログ内検索
スポンサーサイト
カレンダー
11 2018/12 01
S M T W T F S
1
3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
スポンサーサイト
スポンサーサイト