Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Сохранение картинки к статье при сохранении в админке [RSS Feed]

#1 Май 7, 2015 08:36:57

Andrew82
Зарегистрирован: 2015-02-12
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Сохранение картинки к статье при сохранении в админке

Коллеги, подскажите правильная ли логика у меня прописана в models.py ?

# перед моделью сначала задаем путь для сохранения картинок и генерацию имен файлов картинок по алиасу статьи:

def art_img_path(instance,filename):
    path = 'articles/'
    filetype = os.path.splitext(filename)
    filename = instance.Alias+filetype[1].lower()
    return '%s%s' % (path,filename)

# Часть модели, структура таблицы статей
class Articles(models.Model):
    Categories = models.ForeignKey('Categories',verbose_name='Категория')
    Name = models.CharField(max_length=255, verbose_name='Заголовок')
    Alias = models.CharField(max_length=255, blank=True, verbose_name='URL', unique=True)
    Image = models.ImageField (verbose_name=u'Картинка', upload_to=art_img_path)
...

сейчас вроде все работает, но сомневаюсь правильно ли я все сделал, в джанговском ли стиле или нет, подскажите как правильно

Отредактировано Andrew82 (Май 7, 2015 08:37:16)

Офлайн

#2 Май 7, 2015 08:50:26

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Сохранение картинки к статье при сохранении в админке

А почему не так?

Image = models.ImageField (verbose_name=u'Картинка', upload_to=art_img_path + '/articles')
зачем путь к файлу возвращать из функции, разве он может измениться?



Офлайн

#3 Май 7, 2015 09:00:08

Andrew82
Зарегистрирован: 2015-02-12
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Сохранение картинки к статье при сохранении в админке

не знаю, вот я и спрашиваю у специалистов как правильнее сделать
Значит оптимальнее будет сделать так?:

def art_img_path(instance,filename):
    filetype = os.path.splitext(filename)
    filename = instance.Alias+filetype[1].lower()
    return '%s%s' % (filename)

class Articles(models.Model):
    Categories = models.ForeignKey('Categories',verbose_name='Категория')
    Name = models.CharField(max_length=255, verbose_name='Заголовок')
    Alias = models.CharField(max_length=255, blank=True, verbose_name='URL', unique=True)
    Image = models.ImageField (verbose_name=u'Картинка', upload_to=art_img_path + '/articles')

Офлайн

  • Начало
  • » Django
  • » Сохранение картинки к статье при сохранении в админке[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version