Python 测试图像场
我想测试我的视图,但我不知道如何在请求中发送图像。我的意思是,我有这样的模型:Python 测试图像场,python,django,django-rest-framework,Python,Django,Django Rest Framework,我想测试我的视图,但我不知道如何在请求中发送图像。我的意思是,我有这样的模型: class Item(models.Model): text = models.CharField(max_length=255) image = models.ImageField() 我有序列化程序: class RecieverSerializer(UserSerializer): class Meta(): fields = ('id', 'email')
class Item(models.Model):
text = models.CharField(max_length=255)
image = models.ImageField()
我有序列化程序:
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')
视图:
如何将数据发送到服务器?如果我尝试json:
{
"text": "123456",
"reciever":[
{"id":1, "email":"qwe@qwe.qwe"},
{"id":2, "email":"asd@asd.asd"}
],
"image" : http://someurl.com/way/image.jpg
}
Rest框架返回:JSON解析错误-无法解码任何JSON对象,
像这样编辑ItemSerializer
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)
图像url是否缺少一些引号?您可以尝试将路径way/image.jpg
传递到图像字段,django将尝试连接媒体URL或媒体根+图像字段路径
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)