from django import forms from django_registration.forms import RegistrationFormUniqueEmail class CustomRegistrationForm(RegistrationFormUniqueEmail): """ Форма для регистрации :class:`django_registration.forms.RegistrationFormUniqueEmail` с полем для ввода пароля от Zendesk аккаунта и с добавлением bootstrap-класса 'form-control' для всех полей :param password_zen: Поле для ввода пароля от Zendesk :type password_zen: :class:`django.forms.CharField` """ password_zen = forms.CharField( required=True, label="Пароль от Zendesk аккаунта", strip=False, widget=forms.PasswordInput(attrs={ 'class': 'form-control' }) ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for visible in self.visible_fields(): if visible.field.widget.attrs.get('class', False): print(visible.field.widget.attrs['class'].find('form-control')) if visible.field.widget.attrs['class'].find('form-control') < 0: visible.field.widget.attrs['class'] += 'form-control' else: visible.field.widget.attrs['class'] = 'form-control' class Meta(RegistrationFormUniqueEmail.Meta): fields = RegistrationFormUniqueEmail.Meta.fields fields.insert(2, 'password_zen')