Создание API для входа пользователя в Django
Основная ошибка здесь заключается в том, что django не распознает аутентификацию за пределами страницы администратора и моего основного представления логина
Я пытаюсь применить аутентификацию в своем api, как способ изучения построения apis
в django у меня есть такое представление в моем api приложении:
@api_view(['POST'])
def loginUser(request):
data = request.data
serializer = UserLoginSerializer(data=data)
if serializer.is_valid():
serializer.perform_login()
return Response({"Success:", "User logged succesfully"},status=status.HTTP_200_OK)
else:
print(serializer.is_valid())
return Response({"ERROR":"NO PERMISSION."}, status=status.HTTP_400_BAD_REQUEST)
Для этого представления у меня есть такой формализатор REST:
class UserLoginSerializer(serializers.ModelSerializer):
username = serializers.CharField()
password = serializers.CharField()
class Meta:
model = User
fields = ['username','password']
def validate(self,validated_data):
user = authenticate(username=validated_data['username'],password=validated_data['password'])
if not user:
raise ValidationError("user doesn't exist.")
validated_data['user'] = user
return validated_data
def perform_login(self):
user = self.validated_data['user']
print(user)
login(user)
Считайте все отпечатки в представлении и в формализаторе скромным способом понять, что происходит с
Проблема в следующем: Нет неверной информации, нет недействительных учетных данных, тестирование и тестирование через shell, через postman, через все. имя пользователя=x пароль=y, какими бы ни были данные, будь то действительные учетные данные или нет, возвращается ошибка
CHATGPT предупредил меня, что это может быть из-за импорта функции AbstractUser для модели User, а не AbstractBaseModel, НО она прекрасно работает для аутентификации пользователей в моем главном представлении и в админке django