Я решил свои предыдущие проблемы с помощью следующего урока https://wsvincent.com/django-rest-framework-user-authentication-tutorial/
Моя проблема сейчас заключается в том, что по умолчанию при входе в систему запрашиваются поля «useraname», «email» и «password»
Есть ли способ пропустить подтверждение по электронной почте?
Я попытался добавить в мои settings.py:
ACCOUNT_EMAIL_REQUIRED = False
И это работает, но у пользователя django должен бытьэлектронная почта (и я только создаю своих пользователей с именем пользователя и паролем), это работает, потому что я пытался с моим суперпользователем, у которого есть электронная почта, но как насчет пользователей Django, которые создали их с пустым электронным письмом?
код гдея зарегистрировался:
class Registrar(mixins.CreateModelMixin, viewsets.GenericViewSet):
serializer_class = UsuarioSerializer
def create(self, request, *args, **kwargs):
# Creando un nuevo usuario
username = request.POST.get('user.username')
password = request.POST.get('user.password')
es_tecnico = False
print(username)
user = User.objects.create_user(username, password)
user.save() #i want to use this django user to login, and i created it without email
token = Token.objects.create(user=user)
usuario = Usuario.objects.create(user = user, es_tecnico = es_tecnico)
usuario.save()
return Response({'detail': 'El usuario fue creado con el token: ' + token.key})
My custom user "Usuario":
class Usuario(models.Model):
user = models.OneToOneField(User, on_delete = models.CASCADE)
es_tecnico = models.BooleanField(name = 'es_tecnico', default = False)