Advertisement
Guest User

Untitled

a guest
Feb 15th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. class PostSerializer(serializers.ModelSerializer):
  2. user = UserPublicSerializer(read_only=True)
  3. url = serializers.SerializerMethodField()
  4.  
  5. class Meta:
  6. model = Post
  7. fields =[
  8. 'id', # ?
  9. 'user',
  10. 'content',
  11. 'code',
  12. 'url',
  13. ]
  14. read_only_fields = ['user', 'url']
  15.  
  16. def get_url(self, obj):
  17. request = self.context['request']
  18. url = request.data.get('url')
  19. client = Embedly('174a6178b2894201a888b82e0f3c4c9a')
  20. url = client.oembed('http://instagram.com/p/BL7ti/')
  21. print(url)
  22. return url
  23.  
  24. def validate(self, data):
  25. content = data.get("content", None)
  26. if content == "":
  27. raise serializers.ValidationError("Content or image is required.")
  28. return data
  29.  
  30. class PostAPIView(mixins.CreateModelMixin, generics.ListAPIView):
  31. permission_classes = [permissions.AllowAny]
  32. serializer_class = PostSerializer
  33. queryset = Post.objects.all()
  34.  
  35. def post(self, request, *args, **kwargs):
  36. return self.create(request, *args, **kwargs)
  37.  
  38. def perform_create(self, serializer):
  39. serializer.save(user=self.request.user)
  40.  
  41. <Oembed http://instagram.com/p/BL7ti/>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement