Задать вопрос
AliBlogger
@AliBlogger
Fullstack developer

Как изменить название картинки, которое Django даёт ей по умолчанию при загрузке через ImageField?

В своей модели использую для загрузки картинки поле:

cover = models.ImageField(upload_to='covers', null=False)


Django при этом зачем-то меняет изначальное имя файла картинки типа «image_name.png» на цифровое типа «1000023912.png».

Можно ли как-то отключить такую замену имени файла картинки или переопределить его на slug из этой же модели?
  • Вопрос задан
  • 403 просмотра
Подписаться 2 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Мидл Python-разработчик
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@brightcow
Можно напись функцию подобную этой и ссылаться на нее, она формирует путь и название файла

def get_path_file(instance, filename):
    category = instance.category.name
    name = instance.name
    return os.path.join('products_images', category, name[:25], filename)

cover = models.ImageField(upload_to=get_path_file, null=False)
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы