Невозможно войти в систему ⇐ Python
-
Anonymous
Невозможно войти в систему
Это мой код:
из rest_framework.decorators import api_view из rest_framework.response Ответ на импорт из статуса импорта rest_framework из django.contrib.auth импортируйте аутентификацию, войдите в систему @api_view(["POST"]) защита user_login_api_view (запрос): имя пользователя = request.data.get("имя пользователя") пароль = request.data.get("пароль") пользователь = аутентифицировать (имя пользователя = имя пользователя, пароль = пароль) print(пользователь, пароль, имя пользователя) если пользователь не None: логин(запрос, пользователь) вернуть ответ (статус = статус.HTTP_200_OK) еще: вернуть ответ (статус = статус.HTTP_401_UNAUTHORIZED) Это текст моего запроса на вход в систему:
{ "имя пользователя": "testuser111@test.test", "пароль": "testpassword111" } Вот результат печати:
Нет testpassword111 testuser111@test.test
Я регистрирую пользователя так:
из django.contrib.auth.models импортировать пользователя из ..сериализаторов импортировать UserSerializer класс UserCreateApiView(generics.CreateAPIView): защита get_queryset (сам): вернуть User.objects.create_user(self.request.data) сериализатор_класс = Пользовательскийсериализатор с этим телом запроса:
{ "имя пользователя": "testuser111@test.test", "пароль": "testpassword111" } Пользовательский сериализатор
из сериализаторов импорта rest_framework из django.contrib.auth.models импортировать пользователя класс UserSerializer(serializers.ModelSerializer): класс Мета: модель = Пользователь поля = "__all__" пароль = сериализаторы.CharField(write_only=True) Перечислить код пользователя:
класс UserListAPIView(generics.ListAPIView): queryset = User.objects.all().values("id", "имя пользователя") сериализатор_класс = UserListSerializer класс UserListSerializer(serializers.ModelSerializer): класс Мета: модель = Пользователь поля = "__all__" пароль = сериализаторы.CharField(write_only=True) Список ответов:
[ { "идентификатор": 1, «last_login»: ноль, "имя пользователя": "testuser111" }, { "идентификатор": 3, «last_login»: ноль, "имя пользователя": "testuser1111@test.test" }, { «идентификатор»: 2, «last_login»: ноль, "имя пользователя": "testuser111@test.test" } ] А в ответ получаю 401. Как правильно авторизовать пользователя?
Это мой код:
из rest_framework.decorators import api_view из rest_framework.response Ответ на импорт из статуса импорта rest_framework из django.contrib.auth импортируйте аутентификацию, войдите в систему @api_view(["POST"]) защита user_login_api_view (запрос): имя пользователя = request.data.get("имя пользователя") пароль = request.data.get("пароль") пользователь = аутентифицировать (имя пользователя = имя пользователя, пароль = пароль) print(пользователь, пароль, имя пользователя) если пользователь не None: логин(запрос, пользователь) вернуть ответ (статус = статус.HTTP_200_OK) еще: вернуть ответ (статус = статус.HTTP_401_UNAUTHORIZED) Это текст моего запроса на вход в систему:
{ "имя пользователя": "testuser111@test.test", "пароль": "testpassword111" } Вот результат печати:
Нет testpassword111 testuser111@test.test
Я регистрирую пользователя так:
из django.contrib.auth.models импортировать пользователя из ..сериализаторов импортировать UserSerializer класс UserCreateApiView(generics.CreateAPIView): защита get_queryset (сам): вернуть User.objects.create_user(self.request.data) сериализатор_класс = Пользовательскийсериализатор с этим телом запроса:
{ "имя пользователя": "testuser111@test.test", "пароль": "testpassword111" } Пользовательский сериализатор
из сериализаторов импорта rest_framework из django.contrib.auth.models импортировать пользователя класс UserSerializer(serializers.ModelSerializer): класс Мета: модель = Пользователь поля = "__all__" пароль = сериализаторы.CharField(write_only=True) Перечислить код пользователя:
класс UserListAPIView(generics.ListAPIView): queryset = User.objects.all().values("id", "имя пользователя") сериализатор_класс = UserListSerializer класс UserListSerializer(serializers.ModelSerializer): класс Мета: модель = Пользователь поля = "__all__" пароль = сериализаторы.CharField(write_only=True) Список ответов:
[ { "идентификатор": 1, «last_login»: ноль, "имя пользователя": "testuser111" }, { "идентификатор": 3, «last_login»: ноль, "имя пользователя": "testuser1111@test.test" }, { «идентификатор»: 2, «last_login»: ноль, "имя пользователя": "testuser111@test.test" } ] А в ответ получаю 401. Как правильно авторизовать пользователя?
Мобильная версия