首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试imageField

测试imageField
EN

Stack Overflow用户
提问于 2016-01-20 14:03:29
回答 1查看 55关注 0票数 0

我想测试我的视图,但我不知道如何在请求中发送图像。我的意思是,我有这样的模型:

代码语言:javascript
复制
class Item(models.Model):
    text = models.CharField(max_length=255)
    image = models.ImageField()

我有序列化程序:

代码语言:javascript
复制
class RecieverSerializer(UserSerializer):
    class Meta():
        fields = ('id', 'email')
        extra_kwargs = {
            'username' : {'validators':[]}
        }

class ItemSerializer(serialisers.ModelSerializer):
    reciever = RecieverSerializer(many=True)
    class Meta():
        model = Item
        fields = ('text', 'image')

查看:

代码语言:javascript
复制
class ItemViewSet(viewsets.ModelViewSet):
    model = Item
    serializer_class = ItemSerializer
    queryset = []

如何将数据发送到服务器?如果我尝试json:

代码语言:javascript
复制
{ 
    "text": "123456",
    "reciever":[
        {"id":1, "email":"qwe@qwe.qwe"},
        {"id":2, "email":"asd@asd.asd"}
     ],
    "image" : http://someurl.com/way/image.jpg
}

Rest框架回报:JSON parse error - No JSON object could be decoded

EN

回答 1

Stack Overflow用户

发布于 2016-01-20 14:35:51

试试这个,像这样编辑ItemSerializer

代码语言:javascript
复制
class ItemSerializer(serialisers.ModelSerializer):
    reciever = RecieverSerializer(many=True)
    image_url = serializers.SerializerMethodField(source='get_image_url')

    class Meta():
        model = Item
        fields = ('text', 'image')

    def get_image_url(self, obj):
        if obj.image:
            return self.context['request'].build_absolute_uri(obj.image.url) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34892620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档