Как я могу сделать атрибуты для полей формы электронной почты и пароля? - PullRequest
0 голосов
/ 11 июля 2019

Мне удалось создать атрибуты для TextInput и EmailField, но это не работает для PasswordInput ...

Моя регистрационная форма:

class RegisterForm(UserCreationForm):
    class Meta:
        model = User
        fields = ("username", "email", "password1", "password2")

        widgets = {
            'username': forms.TextInput(attrs = {'class': 'nice_input', 'placeholder': 'Name'}),
            'email': forms.EmailInput(attrs = {'class': 'nice_input', 'placeholder': 'Email'}),
            'password1': forms.PasswordInput(attrs = {'class': 'nice_input', 'placeholder': 'Password'}),
            'password2': forms.PasswordInput(attrs = {'class': 'nice_input', 'placeholder': 'Password confirmation'}),
        }

Моя UserCreationForm IN admin.py:

class UserCreationForm(forms.ModelForm):
    password1 = forms.CharField()
    password2 = forms.CharField()

    class Meta:
        model = User
        fields = ('email',)

    def clean_password2(self):
        password1 = self.cleaned_data.get("password1")
        password2 = self.cleaned_data.get("password2")
        if password1 and password2 and password1 != password2:
            raise forms.ValidationError("Passwords don't match")
        return password2

    def save(self, commit=True):
        user = super().save(commit=False)
        user.set_password(self.cleaned_data["password1"])
        if commit:
            user.save()
        return user

Все нормально с полями имени пользователя и электронной почты, но не с другими ...

Что мне попробовать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...