AliBlogger
@AliBlogger
Fullstack developer

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

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

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


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

Можно ли как-то отключить такую замену имени файла картинки или переопределить его на slug из этой же модели?
  • Вопрос задан
  • 304 просмотра
Пригласить эксперта
Ответы на вопрос 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)
Ответ написан
Ваш ответ на вопрос

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

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