Я пытаюсь создать систему входа в систему, которая будет проверять, находится ли пользователь в БД или нет.Но это не аутентифицирует пользователя.Я не знаю, что я делаю неправильно, и я действительно не знаю, как эта аутентификация будет проверять информацию о базе данных модели.
Пожалуйста, объясните мне, что делает аутентификация и что она будет делать прямо сейчас, и, пожалуйста, помогитея в решении проблемы
Вот мой вид реестра
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