как загрузить несколько изображений в Django

#django #django-models #django-forms #django-views #django-templates

#django #django-модели #django-формы #django-просмотры #django-шаблоны

Вопрос:

Я пытаюсь загрузить несколько изображений в свой проект Django, но это не работает. Хотя я много чего перепробовал, но ошибки нет.

Мой HTML-ФАЙЛ

 <input type="file" class="form-control" name="photo" id="photo" accept=".png, .jpg, .jpeg" onchange="readFile(this);" multiple>
  

Мои модели

 class MyGeneralModel(models.Model):
    some_name=models.CharField(max_length=50,blank=True, null=True)
    .....
  

Здесь я генерирую динамическое имя файла.

 def get_image_filename(instance, filename):
    title = instance.image_for.some_name
    slug = slugify(title)
    unique_slug = slug
    return "scammer_images/%s-%s" % (unique_slug, filename)
  

Вот моя модель изображения.

 class Images(models.Model):
    image_for = models.ForeignKey(MyGeneralModel, default=None,on_delete=models.CASCADE)
    image = models.ImageField(upload_to=get_image_filename, verbose_name='Image',blank=True, null=True)
  

И мой views.py находится здесь. Переменная get является экземпляром MyGeneralModel.

 for file in request.FILES.getlist('photo'):
    instance = Images.objects.create(image_for=get,image=file)
  

Ответ №1:

Я забыл добавить enctype=»multipart / form-data» в форму. Итак, запрос.ФАЙЛЫ возвращают пустой dict. Теперь я решил это.