gpt4 book ai didi

python - django 用户的用户名和电子邮件相同吗?

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:13 24 4
gpt4 key购买 nike

我正在使用 django-registration 包制作一个 django 网站。我希望用户使用他们的电子邮件注册并且没有用户名,这样我就可以有一个包含他们的真实姓名的界面(就像在 Facebook 上一样)并通过他们的电子邮件跟踪他们。

我将需要一个用户配置文件,并计划稍后使用 oneToOne 字段扩展用户模型,但现在我不确定如何使用他们的电子邮件作为用户名。我想我可以简单地向用户询问他们的电子邮件并将其存储为用户名,这将是一个简单的修复。然而,这将需要我修改所有表单,并将在数据库中创建基本上重复的列(电子邮件=用户名)。

这个问题确实是开放式的,我想知道是否有一种简单的方法可以在项目中更改用户模型。我已经阅读了有关 User(AbstractUser) 类的文档,但只有当我们刚刚开始该项目时,这似乎才是好的。

谢谢,任何帮助将不胜感激。

最佳答案

您可以通过扩展 AbstractBaseUser 来编写自定义用户类,并将您的电子邮件字段声明为 USERNAME_FIELD,如下所示:

USERNAME_FIELD = 'email'

无需扩展 AbstractBaseUser 的另一种解决方法是在 apps.py 中导入 User 模型并设置 USERNAME_FIELD,如下所示:

from django.contrib.auth.models import User
User.USERNAME_FIELD = 'email'

关于python - django 用户的用户名和电子邮件相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41389329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com