Как я могу изменить форму входа в django с имени пользователя на email, когда пользователи хотят войти в систему

Есть ли способ изменить логин пользовательского пользователя django с Username на Email? Я пробовал использовать этот метод, но он не работает:

def login(request):
    if request.method == 'POST':
        email = request.POST['email']
        password = request.POST['password']
        user = auth.authenticate(request, email=email, password=password)
        if user is not None:
            auth.login(request, user)
            return redirect('Home')
        else:
            messages.info(request, 'Invalid Credential') 
            return redirect('login')
    else:        
        return render(request, 'login.html')

Я хочу разрешить пользователю login использовать Email не Username.

Вам необходимо написать собственный бэкенд аутентификации. Посмотрите это решение.

Ссылка: Django - Вход с помощью Email

Вернуться на верх