@cromvvell

Как загрузить фото в альбом?

models:
class Album(models.Model):
    name = models.CharField(max_length=200, default='')
    description = models.TextField(blank=True, max_length=200, default='')


class Photo(models.Model):
    photo = models.ImageField(blank=True, upload_to='gallery', default=None)
    album = models.ForeignKey(Album, on_delete=models.CASCADE)


views:
def view_album(request, pk):
    album = Album.objects.filter(id=pk)
    photos = Photo.objects.filter(album__id=album[0].id)
    form = PhotoForm
    if request.method == 'POST':
        form = PhotoForm(request.POST)
        if form.is_valid():
            photo = form.save(commit=False)
            photo.album = album[0]
            photo.save()
    return render(request, "album.html", context={'form': form, 'photos': photos})


Пытаюсь (при помощи формы) загрузить фото, но в БД остаётся лишь id и album.id, самой же фото нет, т.к в gallery она не добавляется, к тому же фото - единственное, что содержится в POST. Что может быть не так?
  • Вопрос задан
  • 33 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
form = PhotoForm(request.POST, request.FILES)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы