Войти аутентификация не работает в Django? - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь создать систему входа в систему, которая будет проверять, находится ли пользователь в БД или нет.Но это не аутентифицирует пользователя.Я не знаю, что я делаю неправильно, и я действительно не знаю, как эта аутентификация будет проверять информацию о базе данных модели.

Пожалуйста, объясните мне, что делает аутентификация и что она будет делать прямо сейчас, и, пожалуйста, помогитея в решении проблемы

Вот мой вид реестра

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

1 Ответ

1 голос
/ 17 марта 2019

Как объяснил @Alasdair, вы должны использовать функции аутентификации Django

Может быть, это приложение полезно для вас Джанго Аллах

...