我正在尝试创建一个登录系统,以验证用户是否在db中。但这不会验证用户身份。我不知道我在做什么错,我真的不知道此身份验证如何检查模型数据库信息。
请向我解释身份验证的作用以及它现在将要做什么,请帮助我解决问题
这是我的注册视图
def register(request):
user = UserProfile()
if request.method == 'POST':
user.username = request.POST.get('Username')
user.email = request.POST.get('email')
user.password = request.POST.get('Password')
user.confirm_password = request.POST.get('ConfirmPassword')
user.profession = request.POST.get('Proffesionname')
user.save()
return redirect(reverse('login'))
return render(request,'social_app/register.html',{'user':user})
这是登录视图
def login(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('Password')
user = authenticate(username=username, password=password)
if user:
if user.is_active:
login(request,user)
return HttpResponseRedirect('/profile/')
else:
return HttpResponse('User no longer active')
else:
print(f'username :{username}')
return render(request,'social_app/login.html')
这是UserProfile模型
class UserProfile(models.Model):
user = models.OneToOneField(User,on_delete = models.CASCADE)
email = models.EmailField(max_length = 50)
password = models.CharField(max_length = 20)
confirm_password = models.CharField(max_length = 20)
profession = models.CharField(max_length = 50)
def __str__(self):
return self.user.username