Django-tastypie:关于在POST中上传文件的任何示例?任何人都可以在服务器端和客户端两个方面提供有关使用Deliciouspie FileField的完整示例吗?
这是我尝试过的:
#models.py class Foo(models.Model): img = models.ImageField(upload_to="images", null=True, blank=True) body = models.CharField() #api.py class FooResource(ModelResource): img = fields.FileField(attribute="image", null=True, blank=True) class Meta: queryset = Foo.objects.all()
如果我尝试使用curl创建foo对象,例如,
>>> curl -F "body=test" -F "img=@local_img.png" http://localhost:8000/api/0.1/foo/
已成功创建foo对象,但该img字段为null。我可以在调试器中看到,保存捆绑对象时确实有一个包含InMemoryUploadedFile对象的img字段,因此请求可能还可以。我在哪里做错了?欢迎使用代码段,谢谢!
InMemoryUploadedFile
你的资源应如下所示:
class FooResource(ModelResource): img = fields.FileField(attribute="img", null=True, blank=True) class Meta: queryset = Foo.objects.all()
本attribute应与该领域的典范。如文档中所述:
attribute
ApiField。属性
命名由Resource包装的对象的实例属性的字符串。