django - 在 django 中自定义注册表单中的重复输入错误
问题描述
我们有一个 django 项目应用程序名称“博客”。我们已经为具有相同字段的自定义注册,例如:姓名、手机、电子邮件和密码。在 MYSQL DB 中,它为表 blog_Customuser 给出“重复输入错误”,并且在表中输入了电子邮件、密码,但没有为移动列输入。也没有对 account_emailaddress 表进行任何条目。
此外,在调试代码时,不会停留在标记为调试的任何以下行代码处。
进入 Settings.py -
ACCOUNT_SIGNUP_FORM_CLASS = 'blog.forms.AllauthUserRegisterForm'
Form.py 条目如下所示:
class AllauthUserRegisterForm(forms.ModelForm):
name = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Name'}))
mobile = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Mobile'}))
#password = forms.CharField(widget = forms.PasswordInput)
class Meta:
model = CustomUser
fields = ['email', 'mobile']
Models.py 条目如下所示:
class CustomUser(AbstractUser):
name = models.CharField(default='', max_length=200, blank=True)
mobile = models.PositiveIntegerField(null=True, blank=True)
email = models.EmailField(unique=True)
USERNAME_FIELD = 'email'
# to enforce that you require email field to be associated with
# every user at registration
REQUIRED_FIELDS = ["mobile"]
def __str__(self):
return self.email
Table blog_customuser column details
`id` int(11) NOT NULL AUTO_INCREMENT,
`password` varchar(128) NOT NULL,
`last_login` datetime(6) DEFAULT NULL,
`is_superuser` tinyint(1) NOT NULL,
`username` varchar(150) NOT NULL,
`first_name` varchar(30) NOT NULL,
`last_name` varchar(30) NOT NULL,
`is_staff` tinyint(1) NOT NULL,
`is_active` tinyint(1) NOT NULL,
`date_joined` datetime(6) NOT NULL,
`mobile` varchar(12) DEFAULT NULL,
`name` varchar(200) NOT NULL,
`email` varchar(254) NOT NULL,
解决方案
推荐阅读
- html - 将第二个对象放在第一个对象下方
- excel - 我可以为 PowerQuery 在 Excel for Web 中实际刷新做些什么吗?
- react-native - 获取没有状态的TextInput组件的ref.current.value,React Native
- parallel-processing - 如何计算 3D 环面互连的直径?
- python - Docker执行在容器中找不到文件
- mysql - TypeError:令牌必须是字节
- rust - 如何使用 rwpi 重定位模型在没有静态基础的情况下修复 rust-lld 错误 SBREL 重定位到 xxx?
- python - PyjasperReport:ModuleNotFoundError:没有名为“pyreportjasper”的模块
- jax-rs - NullPointerException 使用 DropwizardAppExtension 和 JUnit5
- c++ - 排序 std::reference_wrapper 数组时出现问题,引用向量