DRF - отсутствие JWT при создании экземпляра пользователя
У меня проблемы с jwt. Когда я создаю экземпляр пользователя, jwt отсутствует. Когда я пытаюсь получить jwt с зарегистрированными учетными данными, я получаю информацию о том, что предоставленные учетные данные не верны. Все работает нормально, когда я создаю суперпользователя через cmd.
сериализаторы:
from rest_framework import serializers
from django.contrib.auth.models import User
from rest_framework import serializers
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
write_only_fields = "password"
read_only_fields = ('id',)
fields = ["email", "password", "first_name", "last_name"]
for field in fields:
extra_kwargs = {field: {'required': True,'allow_blank': False}}
def create(self, validated_data):
validated_data["username"] = f'{validated_data["first_name"]}_{validated_data["last_name"]}_{User.objects.count()}'
return User.objects.create(**validated_data)
сигналы:
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.contrib.auth.models import User
from rest_framework.authtoken.models import Token
@receiver(post_save, sender=User)
def create_auth_token(sender, instance=None, created=False, **kwargs):
if created:
Token.objects.create(user=instance)
просмотров
class CreateUserView(CreateAPIView, GenericViewSet):
model = User
permission_classes = [
permissions.AllowAny
]
serializer_class = UserSerializer
response = {}
def create(self, request):
validation_selializer = UserRegistrationSerializer(data=request.data)
if validation_selializer.is_valid():
final_selializer = self.get_serializer(data=validation_selializer.data)
if final_selializer.is_valid():
self.response = {
"info":{
"status":"created",
"email":validation_selializer.data["email"]
}
}
return Response(self.response, status=status.HTTP_200_OK)
self.response = validation_selializer.errors
return Response(self.response, status=status.HTTP_400_BAD_REQUEST)