from captcha.fields import ReCaptchaField from otree.api import * author = 'Christian König gen. Kersting' doc = """ ReCaptcha Demo """ class Constants(BaseConstants): name_in_url = 'recap' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): captcha = models.CharField(blank=True) # FUNCTIONS # PAGES # recaptcha class Captcha(Page): form_model = 'player' form_fields = ['captcha'] @staticmethod def get_form(player: Player, data=None, files=None, **kwargs): frm = super().get_form(data, files, **kwargs) frm.fields['captcha'] = ReCaptchaField(label='') return frm class Results(Page): pass page_sequence = [Captcha, Results]