Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class PostSerializer(serializers.ModelSerializer):
- user = UserPublicSerializer(read_only=True)
- url = serializers.SerializerMethodField()
- class Meta:
- model = Post
- fields =[
- 'id', # ?
- 'user',
- 'content',
- 'code',
- 'url',
- ]
- read_only_fields = ['user', 'url']
- def get_url(self, obj):
- request = self.context['request']
- url = request.data.get('url')
- client = Embedly('174a6178b2894201a888b82e0f3c4c9a')
- url = client.oembed('http://instagram.com/p/BL7ti/')
- print(url)
- return url
- def validate(self, data):
- content = data.get("content", None)
- if content == "":
- raise serializers.ValidationError("Content or image is required.")
- return data
- class PostAPIView(mixins.CreateModelMixin, generics.ListAPIView):
- permission_classes = [permissions.AllowAny]
- serializer_class = PostSerializer
- queryset = Post.objects.all()
- def post(self, request, *args, **kwargs):
- return self.create(request, *args, **kwargs)
- def perform_create(self, serializer):
- serializer.save(user=self.request.user)
- <Oembed http://instagram.com/p/BL7ti/>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement