Нужна загрузка нескольких файлов в формах Django - PullRequest
0 голосов
/ 19 марта 2012

Я дал свой код ниже. У него есть поле изображения. Я использую формы Django и пользовательские шаблоны для заполнения и хранения этой информации. И я хочу позволить пользователям загружать от 0 до 10 изображений для каждой книги по своему желанию. Так как я могу этого достичь. Мои требования следующие:

  1. Минимум - 0 файлов, Максимум - 10 файлов
  2. Допустимые типы файлов - * .jpg, * .jpeg, * .gif, * .png
  3. Либо это может быть поле просмотра файла или кнопка, которая вызовет окно для выбора нескольких файлов.
  4. Я хочу сохранить и получить эти изображения и отредактировать их в будущем.

models.py

class Book(models.Model):
    title       = models.CharField(max_length = 200)
    author      = models.CharField(max_length = 200)
    cost        = models.IntegerField()
    description = models.TextField()
    image       = models.ImageField(upload_to = 'images/books/', null = True, blank = True)

forms.py

class BookForm(forms.ModelForm):

    class Meta:
        model = Book
        widgets = {
            'location'   : forms.TextInput(attrs={'placeholder': 'Location'}),
            'title'      : forms.TextInput(attrs={'placeholder': 'Title'}),
            'author'     : forms.TextInput(attrs={'placeholder': 'Author'}),
            'cost'       : forms.TextInput(attrs={'placeholder': 'Price'}),
            'description': forms.Textarea(attrs={'placeholder': 'Description'}),
        }

Прежде чем задать этот вопрос, я попробовал Garmoncheg django_multiuploader и Scompt многофайловый виджет . Но никто из них не помог мне. Я работаю над этой задачей последние два дня, но не смог заставить ее работать. Поэтому, пожалуйста, предложите мне способ успешного выполнения этой задачи.

1 Ответ

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

То, что я хотел бы сделать, это полностью разделить поле «изображение» на отдельную модель, а затем использовать встроенную фабрику наборов форм для загрузки нескольких изображений для книги.

Ознакомьтесь с документацией формы набора, и я думаю, вы поймете довольно быстро.Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...