Невозможно войти в систему, если я регистрирую пользователя с помощью post man или с помощью API в django
Невозможно войти в систему, если зарегистрировать пользователя с помощью postman или API, но если зарегистрировать того же пользователя в django admin, я могу войти в систему и сгенерировать токен. Пожалуйста, помогите мне в этом.
мой код сериализатора:
class UserSerializerWithToken(UserSerializer): token = serializers.SerializerMethodField(read_only=True) class Meta: model = NewUser поля = ['_id','token']
def get_token(self,obj):
token = RefreshToken.for_user(obj)
return str(token.access_token)
мой код генерации токенов:
class MyTokenObtainPairSerializer(TokenObtainPairSerializer): def validate(self, attrs): data = super().validate(attrs) # data['username'] = self.user.username serializer = UserSerializerWithToken(self.user).data
for k, v in serializer.items():
data[k] = v
return data
class MyTokenObtainPairView(TokenObtainPairView): serializer_class = MyTokenObtainPairSerializer
Я создал пользовательскую модель. Я думаю, что у меня проблема с регистрацией, но когда я регистрируюсь, токен генерируется, но если я вхожу в систему, он говорит, что действительные учетные данные
@api_view(['POST']) def registerUser(request): data = request.data
try:
user = NewUser.objects.create_user(
email=data['email'],
first_name=data['first_name'],
last_name=data['last_name'],
password=make_password(data['password']),
)
serializer = UserSerializerWithToken(user, many=False)
return Response(serializer.data)
except:
message = {'detail': f'User with email: {data["email"]} already exists'}
return Response(message, status=status.HTTP_400_BAD_REQUEST)