将通过ajax上传的文件保存到Django模型ImageField

时间:2012-10-22 14:41:45

标签: jquery python ajax django django-models

该文件在请求中作为原始数据提供。我应该如何将其转换为保存在ImageFieldmodel所代表的磁盘上。

尝试过的东西:

file_ = File(request)
modelinstance.picture.save(filename, file_, save=False)
modelinstance.save()

以及上述的一些变体。关于如何在django视图中执行此操作的示例将有所帮助。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您使用了ModelForm,则无需做任何特别的事情。 ModelForm自动处理FileField / ImageField。

如果您真的想手动执行,请登录has docs

答案 1 :(得分:1)

像这样解决了

filename = request.GET[ 'yourfilename' ]

from django.core.files.uploadedfile import SimpleUploadedFile
file_contents = SimpleUploadedFile("%s" %(filename), request.raw_post_data)

modelinstance.picture.save(filename, file_contents, True)