Как загрузить изображение с помощью Ajax в Django - PullRequest
0 голосов
/ 12 марта 2012

Фон: У меня есть простая форма модели с полем изображения.

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 ]

2 голосов
/ 12 марта 2012

Файлы не могут быть отправлены с помощью ajax, вы можете имитировать загрузку ajax с помощью iframe для загрузки.

Хороший пример: http://embrangler.com/2010/08/ajax-uploads-images-in-django/

1 голос
/ 16 марта 2012

Я использовал это https://github.com/GoodCloud/django-ajax-uploader Но я использовал без Это довольно легко использовать,

1 голос
/ 12 марта 2012

вы можете попробовать использовать django-swfupload:

http://swfupload.googlecode.com

...