Я делаю проект django и имею одну проблему с загрузкой изображений в формах.Изображение не загружается через форму
Итак, я попытался добавить один объект с изображением, в admin это работает, но в форме на сайте - нет.
Мои взгляды:
def newbook(request, user_id):
form = BookAdd(request.POST or None)
if form.is_valid():
book = form.save(commit=False)
book.author = get_object_or_404(User, pk=user_id)
book.save()
return redirect('../%s' % book.id)
return render(request, 'userbook/newbook.html', {'form': form})
Моя модель:
class Book(models.Model):
"""Book is a compilation of sections with subjects."""
author = models.ForeignKey(AUTH_USER_MODEL)
name = models.CharField(max_length=100)
description = models.CharField(blank=True, max_length=256)
cover = models.ImageField(upload_to='img/bookcovers')
def __str__(self):
return self.name
Моя форма:
class BookAdd(ModelForm):
class Meta:
model = Book
fields = ('name', 'description', 'cover')
Когда я добавить новую книгу, я получаю сообщение об ошибке "требуется поле" , возможно, для поля обложки, но изображение добавлено. Эта работа честно на локальном сервере, но не работает на pythonanywhere.com
Спасибо, что он работает, файл загружен без проблем. Но теперь форма показывает, что поле требуется сразу, должно быть так? –
ваше поле должно быть null = True, blank = True ex: cover = models.ImageField (upload_to = 'img/bookcovers', null = True, blank = True) –
Да, хорошо, это тоже работает. –