Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- path('rest-auth/registration/', RegisterUserView.as_view(), name="rest_register"),
- class RegisterUserView(CreateAPIView):
- """
- Create user view.
- This view provide UserCreateSerializer.
- """
- serializer_class = UserCreateSerializer
- class UserCreateSerializer(serializers.ModelSerializer):
- """
- Create of user.
- This class provide creation of user with two fields: email and password.
- """
- password = serializers.CharField(write_only=True)
- email = serializers.EmailField(
- validators=[UniqueValidator(queryset=User.objects.all())]
- )
- class Meta:
- """
- Meta class.
- This class describe model and fields.
- """
- model = User
- fields = ["email", "password"]
- def validate(self, data):
- """
- Validate password.
- Validate length of password.
- """
- user = User(**data)
- password = data.get('password')
- errors = dict()
- try:
- password_validation.validate_password(password=password, user=user)
- except exceptions.ValidationError as e:
- errors['password'] = list(e.messages)
- if errors:
- raise serializers.ValidationError(errors)
- return super(UserCreateSerializer, self).validate(data)
Add Comment
Please, Sign In to add comment