如何在django中使用Ajax上传图像

时间:2012-03-12 06:25:10

标签: ajax django django-forms django-ajax-selects

背景: 我有一个带有图像字段的简单模型表单。

class XYZForm(ModelForm):
    class Meta:
        model = XYZ
        fields = ( 'file',)

模型是

class XYZ(models.Model):
    url = models.URLField(null = True)
    file = models.ImageField(upload_to=get_photo_storage_path, null = True)

问题: 我通过ajax提交此表单。但是这个表格没有验证,因为文件没有存储。有没有一种特殊的方式通过ajax提交带有文件的表单?

P.S。 : - 视图中的request.FILES为空,表单正在提交

3 个答案:

答案 0 :(得分:2)

无法使用ajax发送文件,您可以使用iframe进行上传来模仿ajax上传。

很好的例子:http://embrangler.com/2010/08/ajax-uploads-images-in-django/

答案 1 :(得分:1)

你可以尝试使用django-swfupload:

http://swfupload.googlecode.com

答案 2 :(得分:1)

我用过这个https://github.com/GoodCloud/django-ajax-uploader 但我没有用过 这很容易使用,