Как загрузить изображение с помощью Ajax в Django

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

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?

PS:- request.FILES пуст в представлении, куда отправляется форма

3 ответа

Решение

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

http://swfupload.googlecode.com/

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

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

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

Другие вопросы по тегам