#1 by pyth_123
I had added some additional pages in pycharm but i am unable to see it in the local host. Could anyone please tell me whats wrong with my code?
My init code:
import cu as cu
from otree.api import *
doc = """
Simple trust game
"""
class C(BaseConstants):
NAME_IN_URL = 'trust_simple'
PLAYERS_PER_GROUP = 2
NUM_ROUNDS = 1
ENDOWMENT = cu(10)
MULTIPLIER = 3
class Subsession(BaseSubsession):
pass
class Group(BaseGroup):
sent_amount = models.CurrencyField(
min=cu(0),
max=C.ENDOWMENT,
doc="""Amount sent by P1""",
label="How much do you want to send to participant B?",
)
sent_back_amount = models.CurrencyField(
doc="""Amount sent back by P2""", label="How much do you want to send back?"
)
class Player(BasePlayer):
name = models.StringField(label='What is your name')
age = models.IntegerField(label='What is your age?', min=18, max=80)
gender = models.IntegerField(choices=[
[1, 'male'],
[2, 'female'],
[3, 'other']
]
)
grade = models.StringField(label='Please rate our experiment',
choices=[['Good', 'Good'], ['Very Good', 'Very Good'], ['Satisfactory', 'Satisfactory'],
['Not good', 'Not Good']])
# FUNCTIONS
def sent_back_amount_choices(group: Group):
return currency_range(0, group.sent_amount * C.MULTIPLIER, 1)
def set_payoffs(group: Group):
p1 = group.get_player_by_id(1)
p2 = group.get_player_by_id(2)
p1.payoff = C.ENDOWMENT - group.sent_amount + group.sent_back_amount
p2.payoff = group.sent_amount * C.MULTIPLIER - group.sent_back_amount
# PAGES
class Questions(Page):
form_model = 'player'
form_fields = ['age', 'gender', 'name']
def is_displayed(player: Player):
return player.name, player.age, player.gender
class Send(Page):
form_model = 'group'
form_fields = ['sent_amount']
@staticmethod
def is_displayed(player: Player):
return player.id_in_group == 1
class WaitForP1(WaitPage):
pass
class SendBack(Page):
form_model = 'group'
form_fields = ['sent_back_amount']
@staticmethod
def is_displayed(player: Player):
return player.id_in_group == 2
@staticmethod
def vars_for_template(player: Player):
group = player.group
return dict(tripled_amount=group.sent_amount * C.MULTIPLIER)
class ResultsWaitPage(WaitPage):
after_all_players_arrive = set_payoffs
class Results(Page):
pass
class Thanks(Page):
pass
page_sequence = [Questions, Send, WaitForP1, SendBack, ResultsWaitPage, Results,GradeWaitPage, Grade,Thanks]
I am unable to see Questions page and Thanks page.
I have also added the respective html pages to the folder.
Questions.html
{{ block title }}Trust Game: Your Choice{{ endblock }}
{{ block content }}
{{ include_sibling 'instructions.html' }}
<p>
Enter your name {{Player.name}}
Enter your age {{Player.age}}
Please specify your gender {{Player.gender}}
</p>
{{ formfields }}
{{ next_button }}
{{ endblock }}
Thanks.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Thanks</title>
</head>
<body>
Thank you for participating in the game.
</body>
</html>
PLease could someone help? I am stuck on the same experiment for two weeks.