我在使用tastypie开发api时遇到了问题。 我想要的是知道是否有办法直接在json中将图像发布到tastypie。
我的模特现在正在使用ImageField:
class MyClass(models.Model):
description = models.TextField()
user = models.ForeignKey(User)
photo = models.ImageField(upload_to="image", null=True, blank=True)
然后在我的api文件中:
class InquiryResource(ModelResource):
user = fields.ForeignKey(UserResource, 'user' ,full=True)
photo = fields.FileField(attribute = 'photo', null=True, blank = True)
class Meta :
queryset = MyClass.objects.all()
resource_name = "MyClass"
authorization = Authorization()
当我发送一个只有用户和描述的基本json时,它运行良好。 然后当我去添加关于我的图像的信息时:
{ ... ,
photo : {
Content-Type : "image/png",
file : "base64string", <----- this one contains the file as a long string
name : "test.png"
} ...}
我收到一条错误消息:'dict'对象没有属性'_commited'
使用tastypie本地上传文件是否有“干净的方法”,还是应该使用Base64FileField?
谢谢
答案 0 :(得分:0)
是的,你可以使用Base64FileField:https://gist.github.com/jstarcher/ef8d91b8e8d058178f20
详细了解:https://github.com/toastdriven/django-tastypie/issues/42