DJANGO JWT - CANT LOGIN ( HTTP 401 Unauthorized ) PROBLEM

"HTTP 401 Unauthorized" Я ПЫТАЮСЬ ИСПРАВИТЬ ЭТУ ОШИБКУ УЖЕ 3 ДНЯ

Мой LoginAPIView

class LoginAPIView(generics.GenericAPIView):
serializer_class=LoginSerializer
#permission_classes = (permissions.IsAuthenticated)

def post(self,request):
    serializer=self.serializer_class(data=request.data)
    serializer.is_valid(raise_exception=True)


    return Response(serializer.data,status=status.HTTP_200_OK)

и My LoginSerializer

class LoginSerializer(serializers.ModelSerializer):
email=serializers.EmailField(
    max_length=255,min_length=3)#not matter
password=serializers.CharField(
    max_length=68,min_length=5,write_only=True)
username= serializers.CharField(
    max_length=255, min_length=3,read_only=True)
tokens = serializers.CharField(
    max_length=255, min_length=6, read_only=True)

class Meta:
    model=User
    fields=[
        "email",
        "password",
        "username",
        "tokens"
    ]

def validate(self, attrs):

    email= attrs.get("email", "")
    password = attrs.get("password", "")
    # Kimlik doğrulama hatası verdi bunun sebebi...

    ################################################
    user = auth.authenticate(email=email, password=password)

    """
    debug için örneğin, kullanıcı gelip gelmediğini buradan görebilriiz.
    bunu yazdığımız yer debug çalıştırır.
    """
   """
    import pdb
    pdb.set_trace()
   """
    if not user:
        raise AuthenticationFailed('Geçerli Kimlik bilgileri giriniz!')

    if not user.is_active:
        raise AuthenticationFailed('Hesabınız aktif değildir, lütfen admin ile iletişime geçiniz.!')

    if not user.is_verified:
        raise AuthenticationFailed(' E-mailiniz doğrulanmadı, lütfen sizlere göndermiş olduğumuz doğrulama baplantısını onaylanıyınız!')


    return {
        'email':user.email,
        'username':user.username,
        'tokens':user.tokens,
    }

    return super().validate(attrs)

Итак, я использовал """ import pdb pdb.set_trace()"""

я проверил свою команду,

Была такая проблема,

Неавторизованный: /auth/login/ [29/Nov/2021 22:13:35] "POST /auth/login/?next=/ HTTP/1.1" 401 7638

У меня есть учетная запись в моей системе, я пытаюсь войти в мою систему с моей бывшей учетной записью, но возникает эта проблема, я не могу ее решить,

<<<Спасибо большое за помощь

Кстати, мой models.py (для логина электронной почты)

class UserManager(BaseUserManager):

def create_user(self,username,email,password=None):
    if username is None:
        raise TypeError('Users should have an username')
    if email is None:
        raise TypeError('Users should have an email')

    user=self.model(username=username,email=self.normalize_email(email))
    user.set_password(password)
    user.save()

    return user
def create_superuser(self,username,email,password=None):
    if password is None:
        raise TypeError('Password should not be none')

    user=self.create_user(username,email,password)
    user.is_superuser=True
    user.is_staff=True
    user.save()
    return user


class User(AbstractBaseUser,PermissionsMixin):
 
 
username=models.CharField(max_length=255,unique=True,db_index=True)
email= models.EmailField(max_length=255, unique=True, 
    db_index=True)

is_verified=models.BooleanField(default=False)
is_active= models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
created_at=models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now_add=True)

USERNAME_FIELD='email'
REQUIRED_FIELDS = ['username']

objects=UserManager()

def __str__(self):
    return self.email

def tokens(self):
    refresh=RefreshToken.for_user(self)
    return {
        'refresh': str(refresh),
        'access': str(refresh.access_token)
    }
Вернуться на верх