【问题标题】:usercreationform can not change password labelusercreationform 无法更改密码标签
【发布时间】:2021-03-15 16:59:54
【问题描述】:

我无法更改 UserCreationForm 类的密码 1、密码 2 标签。电子邮件地址似乎没问题。可能是什么问题?

class SignUpForm(UserCreationForm):
    class Meta:
        model = User
        fields = ('email','password1','password2',)
        labels = {
            'email' : 'Email address',
            'password1' : 'Password',
            'password2' : 'Confirmation Password',
        }

【问题讨论】:

  • password1password2 不是模型的字段,因此不是按照ModelForm 逻辑构造的。

标签: django


【解决方案1】:

password1password2 不是模型的字段,因此不是按照ModelForm 逻辑构造的。因此,这意味着如果您更改这些表单字段的labels,它不会有任何区别,因为它们不是通过ModelForm 的元类构造的。

您可以简单地重新指定字段,现在使用不同的标签:

from django import forms
from django.utils.translation import gettext, gettext_lazy as _

UserModel = get_user_model()

class SignUpForm(UserCreationForm):
    password1 = forms.CharField(
        label='Password',
        strip=False,
        widget=forms.PasswordInput(attrs={'autocomplete': 'new-password'}),
        help_text=password_validation.password_validators_help_text_html(),
    )
    password2 = forms.CharField(
        label='Confirmation Password',
        widget=forms.PasswordInput(attrs={'autocomplete': 'new-password'}),
        strip=False,
        help_text=_('Enter the same password as before, for verification.'),
    )
    
    class Meta:
        model = UserModel
        fields = ('email',)
        labels = {
            'email' : 'Email address'
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 2018-12-21
    • 2013-09-06
    • 2013-07-08
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    相关资源
    最近更新 更多