我一直在写一个Django网络应用程序和我创建新模型用户,我一直在编写函数登录,注册....我需要使用get_user_model(),但是当我使用它时,它返回空 机型:
class Login(models.Model):
id = models.CharField(db_column='id', primary_key=True, max_length=50,unique=True)
username = models.CharField(db_column='username', unique=True, max_length=50)
password = models.CharField(db_column='password', max_length=254)
email = models.CharField(db_column='email', unique=True, max_length=50)
security_stamp = models.CharField(db_column='security_stamp', max_length=20)
last_login = models.DateTimeField(db_column='last_login')
def set_password(self,password):
self.password = make_password(password, 'pbkdf2_test', 'md5')
def is_authenticated(self):
return True
class Meta:
db_table = 'Login'
后端:
def authenticate(self, username=None, password=None):
try:
# Try to find a user matching your username
user = Login.objects.get(username=username)
# Check the password is the reverse of the username
if check_password(password, user.password):
# Yes? return the Django user object
user = Login.objects.get(username=username)
return user
else:
# No? return None - triggers default login failed
return None
except Login.DoesNotExist:
# No user was found, return None - triggers default login failed
return None
# Required for your backend to work properly - unchanged in most scenarios
def get_user(self, user_id):
try:
return Login.objects.get(pk=user_id)
except Login.DoesNotExist:
return None
return get_user_model() enter image description here
我在谷歌搜索,我发现必须在设置中添加AUTH_USER_MODEL ='myapp.MyUser'但是当我添加它时我有这个 'REQUIRED_FIELDS'必须是列表或元组