Advertisement
Guest User

Untitled

a guest
Apr 5th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. # simple class with no models mappings
  2. class LayerAuthSerializer(serializers.Serializer):
  3. nonce = serializers.CharField()
  4. display_name = serializers.CharField(required=False)
  5. avatar_url=serializers.CharField(required=False)
  6.  
  7.  
  8. # a complex class definition
  9. class CreateUserSerializer(serializers.Serializer):
  10. """
  11. Serializer for create user request
  12. """
  13. email = serializers.CharField(required=True)
  14. password = serializers.CharField(required=True)
  15. gravatar_url = serializers.CharField(required=False)
  16.  
  17. def create(self, validated_data):
  18. # if user has used this number previously to authenticate,
  19. # then change validation code and and set number as validated = false
  20. user = User.objects.create_user(email=validated_data['email'], password=validated_data['password'])
  21.  
  22. # we detect if user has a profile picture from gravatar
  23. gravatar_url = validated_data.pop('gravatar_url', None)
  24. if gravatar_url is not None:
  25. photo = download_gravatar(gravatar_url)
  26. user.profile_avatar = photo
  27. user.save()
  28. return user
  29.  
  30. def to_internal_value(self, data):
  31. super(CreateUserSerializer, self).to_internal_value(data)
  32. if not data.get('password'):
  33. raise serializers.ValidationError({
  34. 'error': 'Password is required',
  35. 'code' : exception_handler.ERROR_DATA_INCONSISTENCY
  36. })
  37. email = data.get('email')
  38. if not email:
  39. raise serializers.ValidationError({
  40. 'error': 'Email is required',
  41. 'code' : exception_handler.ERROR_DATA_INCONSISTENCY
  42. })
  43.  
  44. return data
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement