Django UserCreationForm 元字段

问题描述 投票:0回答:1

我创建了自定义的用户创建表单

class RegisterForm(UserCreationForm):

    class Meta:
        model = Users #personal User model
        fields = (
            "username",
            "first_name",
            "last_name",
            "email",
            "adresse",
            "phonenumber",
        )

简单的问题是,如果字段中没有“password1”、“password2”,它是否可以工作?

class RegisterForm(UserCreationForm):

    class Meta:
        model = Users #personal User model
        fields = (
            "username",
            "first_name",
            "last_name",
            "email",
            "adresse",
            "phonenumber",
            "password1",
            "password2",
        )

如果两者都有效,两者有什么区别?

django
1个回答
0
投票

根据我目前的 Django 知识,UserCreationForm 是 Django 提供的用于创建新用户的便捷表单。它包括密码复杂性验证和密码确认。

UserCreationForm 包含两个字段:password1 和password2。

  • password1:用户可以在此处输入所需的密码。
  • password2:这是一个确认字段,用户可以在其中重新输入相同的密码进行确认。 该表单将验证password1 和password2 是否匹配。如果不这样做,表单将引发验证错误。

如果您想在没有密码1和密码2的情况下使用UserCreationForm,则需要创建自定义用户创建表单。然而,在我看来,摆脱这些字段通常会违背最佳实践。

https://docs.djangoproject.com/en/5.0/topics/auth/default/#module-django.contrib.auth.views

© www.soinside.com 2019 - 2024. All rights reserved.