Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 4, 2015 21:02:49

RDV1984
Зарегистрирован: 2012-12-28
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

загрузка изображений

Новичок в django. Возник такой вопрос:
Есть две модели:

class Post(models.Model):
    title = models.CharField(max_length=128)
    text = models.TextField()
    public = models.BooleanField(default=False)
    class Meta:
        ordering = ["title"]
    def __unicode__(self):
        return self.title
class Image(models.Model):
    post = models.ForeignKey(Post)
    image = models.ImageField(upload_to='images')

Я хочу сделать так, чтобы при добавлении картинок они сохранялись не в папке upload_to='images', а для каждого экземпляра Post создавалась папка (к примеру upload_to='images/%d' % Post.id) и туда сохранялись изображения принадлежащие этому экземпляру Post.
Собственно вопрос как это реализовать?
Надеюсь понятно объяснил.

Офлайн

#2 Фев. 4, 2015 21:17:28

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

загрузка изображений

Django-ajax-uploader ставим по инструкции, настраиваем, переопределям метод upload_complete в классе LocalUploadBackend.

Офлайн

#3 Фев. 4, 2015 22:47:56

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

загрузка изображений

def _get_upload_to(instance, filename):
    return u'images/%s/%s' % (instance.post.id, filename)
class Image(models.Model):
    post = models.ForeignKey(Post)
    image = models.ImageField(upload_to=get_upload_to)

Отредактировано inoks (Фев. 4, 2015 22:48:05)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version