Как загрузить изображение с помощью 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:
Файлы не могут быть отправлены с помощью AJAX, вы можете имитировать загрузку AJAX с помощью IFRAME для загрузки.
Хороший пример: http://embrangler.com/2010/08/ajax-uploads-images-in-django/
Я использовал этот https://github.com/GoodCloud/django-ajax-uploader Но я использовал без Это довольно легко использовать,