Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ...
- from rest_framework import serializers
- from django.contrib.auth import get_user_model
- class UserSerializer(serializers.ModelSerializer):
- email = serializers.EmailField()
- password = serializers.CharField(write_only=True)
- def create(self, validated_data):
- user = UserModel.objects.create(
- username=validated_data['email'],
- email=validated_data['email']
- )
- user.set_password(validated_data['password'])
- user.save()
- return user
- class Meta:
- model = UserModel
- fields = ('id', 'email', 'password',)
- ...
- from rest_framework.authtoken.models import Token
- @receiver(post_save, sender=settings.AUTH_USER_MODEL)
- def create_auth_token(sender, instance=None, created=False, **kwargs):
- if created:
- # with transaction.atomic(): # commented out see above
- token = Token.objects.create(user=instance)
- print(token.key)
- @receiver(post_save, sender=settings.AUTH_USER_MODEL)
- def create_profile(sender, instance=None, created=False, **kwargs):
- if created:
- Profile.objects.create(user=instance)
- from rest_framework.generics import CreateAPIView
- from django.contrib.auth import get_user_model
- from .serializers import UserSerializer
- class UserRegisterView(CreateAPIView):
- model = get_user_model()
- permission_classes = [
- permissions.AllowAny # Or anon users can't register
- ]
- serializer_class = UserSerializer
Add Comment
Please, Sign In to add comment