检查了其他一些问题,我认为我的美味派资源应该是这样的:
class MultipartResource(object):
def deserialize(self, request, data, format=None):
if not format:
format = request.META.get('CONTENT_TYPE', 'application/json')
if format == 'application/x-www-form-urlencoded':
return request.POST
if format.startswith('multipart'):
data = request.POST.copy()
data.update(request.FILES)
return data
return super(MultipartResource, self).deserialize(request, data, format)
class ImageResource(MultipartResource, ModelResource):
image = fields.FileField(attribute="image")
请告诉我这是否错了。
假设上述内容正确,我没有得到的是传递给资源的内容。这是一个文件输入:
<input id="file" type="file" />
如果我有一个主干模型 img 我应该将图像设置为什么?
img.set("image", $("#file").val()); // tastypie doesn't store file, it stores a string
img.set("image", $("#file").files[0]); // get "{"error_message": "'dict' object has no attribute '_committed'" ...
我应该将我的主干“图像”属性设置为什么,以便我可以通过 ajax 将文件上传到tastepie?