from django.forms import Form, EmailField, CharField, PasswordInput, ChoiceField from core.helpers.otp import get_otp_choices class LoginForm(Form): email = EmailField() password = CharField(widget=PasswordInput) class OTPSelectorForm(Form): def __init__(self, *args, **kwargs): otp_choices = kwargs.pop('otp_choices', []) super(OTPSelectorForm, self).__init__(*args, **kwargs) self.fields['provider'] = ChoiceField(choices=otp_choices) class OTPVerificationForm(Form): token = CharField()