Как я могу изменить пароль метки в Django от? - PullRequest
0 голосов
/ 07 мая 2019

мне нужно изменить метку (password = forms.PasswordInput ()) в созданной форме в django.

я пробовал это:

 from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm



class UserRegisterForm(UserCreationForm):
    name = forms.CharField(label='نام و نام خوانوادگی', max_length=100)
    email = forms.EmailField(label='ایمیل')
    password1 = forms.PasswordInput(label='پسورد')
    number = forms.IntegerField(label='شماره همراه')



    class Meta:
        model = User
        fields = ['name' , 'email' ,  'number','password1']

, но оно не работает и имеет ошибку: TypeError: init () получил неожиданный аргумент ключевого слова 'label'

1 Ответ

1 голос
/ 07 мая 2019

Вы наследуете от UserCreationForm, что является ModelForm, как я упоминал в комментариях.Если вы посмотрите на исходный код UserCreationForm, вы увидите, что password1 определен как forms.CharField и что он не из модели.

Замените поле пароля следующим образом:

password1 = forms.CharField(
    label="پسورد",
    strip=False,
    widget=forms.PasswordInput,
    help_text=password_validation.password_validators_help_text_html(),
)

Также удалите «password1» из списка fields.Это не поле из пользовательской модели.

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