@Quirel

Как правильно сохранить картинку из url в django models.ImageField?

django 1.11
Кусок кода из admin.py
def save_model(self, request, obj, form, change):
    r = requests.get(url, stream=True)
    r.raw.decode_content = True
    obj.image.save(os.path.join('img/', slugify(unidecode(obj.title)), '.jpg'), r.raw)
    obj.save()

И оно даже работает, за исключением того, что удаляется точка из имени файла: т.е. получаю что то вроде "imagejpg" вместо "image.jpg"
Возможно, я вообще не правильно сохраняю картинку и это нужно делать другим способом.
  • Вопрос задан
  • 786 просмотров
Решения вопроса 1
Assargin
@Assargin
Перед ответом смотрю наличие ✔ в ваших вопросах
Сохранение картинки работает, а вот формирование пути сделано с ошибкой
def save_model(self, request, obj, form, change):
    r = requests.get(url, stream=True)
    r.raw.decode_content = True
    obj.image.save(os.path.join('img', '{}.jpg'.format(slugify(unidecode(obj.title)))), r.raw)
    obj.save()

os.path.join формирует путь из директорий и имени файла, но имя отдельно взятой папки или файла им формировать не нужно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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