Django save image form.ImageField

пытаюсь сохранить изображение из формы в БД, но в БД поле пустое, через админку всё сохраняет

class BookFormView(FormView):
    form_class = BookForm
    template_name = 'books/book_form.html'
    success_url = '/books/book_form'

    def form_valid(self, form):

        book_object = Book.objects.create(
            book_name=form.cleaned_data['book_name'],
            description=form.cleaned_data['description'],
            id_publishing_house=form.cleaned_data['id_publishing_house'],
            date_creation=form.cleaned_data['date_creation'],
            book_img=form.cleaned_data['book_img']
        )
        author = form.cleaned_data['authors']
        book_object.author.add(*author)
        book_object.save()
        return super(BookFormView, self).form_valid(form)  
forms  

class BookForm(forms.Form):
    author_query = Author.objects.all()
    author_array = (
        [author.id, author] for author in author_query
    )
    book_name = forms.CharField(label='Название книги', min_length=1, max_length=50)
    authors = forms.MultipleChoiceField(
        widget=forms.CheckboxSelectMultiple(),
        choices=author_array,
        label='Выберите автора(ов)'
    )
    description = forms.CharField(label='Описание книги', widget=forms.Textarea(attrs={'rows': 5, 'cols': 40}))
    id_publishing_house = forms.ModelChoiceField(label='Издательство', queryset=PublishingHouse.objects.all())
    date_creation = forms.DateField(label='Дата написания книги')
    book_img = forms.ImageField(label='Ссылка на изображение', required=False)

    class Meta:
        model = Book
        field = ("book_img",)  

model  
class Book(models.Model):
    book_name = models.CharField(max_length=100, verbose_name='Название книги')
    author = models.ManyToManyField('Author', related_name='books', verbose_name='Авторы')
    description = models.TextField(verbose_name='Описание книги', null=True, blank=True)
    id_publishing_house = models.ForeignKey(
        'PublishingHouse',
        on_delete=models.CASCADE,
        related_name='publishinghouse_books',
        verbose_name='ID издательство',
        null=True,
        blank=True
    )
    date_creation = models.DateField(verbose_name='Дата написания книги', null=True, blank=True)
    date_add = models.DateTimeField(auto_now_add=True, verbose_name='Дата добавления')
    is_deleted = models.BooleanField(default=False, verbose_name='Удалить')
    book_img = models.ImageField(upload_to='media/%Y/%m/%d',
                                 verbose_name='Ссылка на изображение', blank=True, null=True)```

По идее нужно передать загруженные файлы в форму: ProfileForm(request.POST, request.FILES, instance=request.user.profile)

Вернуться на верх