Django-メールでログイン
djangoがユーザー名ではなくメールでユーザーを認証するようにしたい。1つの方法は、ユーザー名の値として電子メールの値を提供することですが、私はそれを望んでいません。理由は、私はURLを持っている/profile/<username>/ので、URLを持つことができません/profile/abcd@gmail.com/。 もう1つの理由は、すべての電子メールが一意であるということですが、ユーザー名がすでに使用されている場合があります。したがって、ユーザー名をとして自動作成していますfullName_ID。 Djangoにメールで認証させるように変更するにはどうすればよいですか? これが私がユーザーを作成する方法です。 username = `abcd28` user_email = `abcd@gmail.com` user = User.objects.create_user(username, user_email, user_pass) これが私がログインする方法です。 email = request.POST['email'] password = request.POST['password'] username = User.objects.get(email=email.lower()).username user = authenticate(username=username, password=password) login(request, user) 最初にユーザー名を取得する以外に、ログインの他の方法はありますか?