В форме настраиваемой регистрации django у меня есть ChoiceField, см. Код ниже, но я хочу изменить поля в соответствии с параметрами ChoiceField. например, если ChoiceField выбран как Student, тогда я хочу скрыть «поле электронной почты» или могу добавить дополнительное поле. Я знаю, что могу сделать это с помощью JavaScript, но хочу изменить форму.
class Signup_Form(UserCreationForm):
def __init__(self, *args, **kwargs):
super(Signup_Form, self).__init__(*args, **kwargs)
# below changing on the fields of this form.
self.fields['first_name'].label = "First Name"
self.fields['last_name'].label = "Last Name"
self.fields['email'].label = "Email"
SIGNUP_USERS_TYPES = (
('Student', 'Student',),
('Admin', 'Admin',),)
user_type = forms.ChoiceField(choices = SIGNUP_USERS_TYPES, required=True, label="Sign-up as :",)
class Meta:
model = User
fields = ['user_type', 'first_name', 'last_name','email', 'username', 'password1', 'password2' ]