如何在Django froms中更改标签密码?

时间:2019-05-07 11:08:32

标签: python django

我需要以Django创建的表单中的更改标签(password = forms.PasswordInput())。

我尝试过这个:

 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 ()获得了意外的关键字参数“标签”

1 个答案:

答案 0 :(得分:1)

您正在从UserCreationForm(即ModelForm)继承,正如我在评论中提到的那样。如果您查看UserCreationForm的源代码,就会看到password1被定义为forms.CharField,并且它不是来自模型。

像这样替换您的密码字段:

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

此外,从fields列表中删除“ password1”。这不是用户模型中的字段。