我想为只有5个字段的自定义用户进行登录和注册:用户名,姓名,密码,linkedin ID和手机号。
我成功注册但是我遇到了登录问题,我无法验证我的用户身份。 有没有办法验证我的用户,或者我如何登录? 目前我正在通过
登录 email_to_list = ['"John, A" <jphn@abc.com>', '"Peter, B" <peter@def.com>']
但我想通过
登录user = Consultants.objects.get(Q(username= username) & Q(password= password))
注意:我不想使用django默认用户模型。 请帮帮我。 提前谢谢。
models.py
user=authenticate(username=username,password=password)
views.py
class Consultants(models.Model):
first_name=models.CharField(max_length=255,blank=True,null=True)
username=models.CharField(max_length=255,blank=True,null=True)
password=models.CharField(max_length=50,blank=True,null=True)
mobile_no=models.CharField(max_length=255,blank=True,null=True)
linkedin_id=models.CharField(max_length=255,blank=True,null=True)
is_active=models.BooleanField(default=False)
答案 0 :(得分:1)
注意:我不想使用django默认用户模型为它请帮忙 我在这。谢谢inadvance
您的Consultants类是否继承自Django基类用户类?
authenticate()函数用于验证基本用户模型,在创建用户时可能没有为用户设置密码?
另一种方法是创建一个Profile模型,其中包含所有这些额外字段,其中OneToOneField为基本用户模型,并通过Django ORM进行身份验证。
答案 1 :(得分:0)
我认为继承django嵌入式用户类更好,您可以按照以下步骤操作:
AbstractBaseUser
和PermissionsMixin
在settings.py
中分配并填写此配置:
AUTH_USER_MODEL ='YOUR_CUSTOM_CLASS_IN_FULL_QUALIFIED_NAME',例如:'your_app_name.Consultants'
Voila,您可以使用django默认用户crud,也可以使用身份验证