gpt4 book ai didi

python - 自定义用户模型 django-allauth 出现断言错误

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

我是 django 新手,最近我决定集成 django allauth 以使用登录(facebook 和 google+),我使用自定义模型(django 1.5)和一对一的用户配置文件模型,我的自定义模型类看起来

class MyUser(AbstractBaseUser):   
email = models.EmailField(
verbose_name='email address',
max_length=255,
unique=True,
db_index=True,
)
username = models.CharField(max_length=35, blank=False)
is_active = models.BooleanField (default=False)
is_admin = models.BooleanField (default=False)

objects = MyUserManager()

USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']

和我的用户个人资料:

class UserProfile(models.Model):
phone = models.FloatField(blank=True, null=True)
is_visible = models.BooleanField (default=True)
user = models.OneToOneField(MyUser, primary_key=True)

这里是 django allauth local_settings 文件:

ACCOUNT_AUTHENTICATION_METHOD = "email"
ACCOUNT_SIGNUP_FORM_CLASS = 'bloodi.accounts.forms.RegistrationForm'
ACCOUNT_LOGOUT_ON_GET = True
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_UNIQUE_EMAIL = True

使用此配置,我遇到了 django allauth 的两个问题:
*) 不允许重复的用户名 *)应用程序在注册过程中崩溃(似乎用户帐户必须处于事件状态才能继续登录)

AssertionError 
Exception Location: \allauth\account\utils.py in perform_login, line 110
...
assert user.is_active

最佳答案

Django 不允许重复的用户名,请参阅:

https://docs.djangoproject.com/en/dev/topics/auth/customizing/#django.contrib.auth.models.CustomUser.USERNAME_FIELD

对于断言错误,使用:

is_active = models.BooleanField(default=True)

关于python - 自定义用户模型 django-allauth 出现断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18854994/

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