У меня есть функция. Которая принимает картину, (imagefield) из нее седлает новую в формате webp, возвращает url новой картинки. Дальше я обновляю картину в модели
Код функции
from PIL import Image
from mysite.settings import BASE_DIR # берем адрес корня проекта из settings
import os
def compress_image(image):
# filepath =file.url.replace('/','\\')# для винды
filepath = image.url #для сервера
picture = Image.open(str(BASE_DIR) + filepath).convert('RGB')
photo_url = (str(BASE_DIR) + filepath).split('.')[0]
photo_url = f'{photo_url}.webp'
picture.save(photo_url, 'webp')
#удаляем старую картинку
os.remove(str(BASE_DIR) + filepath)
#формируем путь нового файла для модели
new_filepach = image.url.split('.')[0]
new_filepach = new_filepach.replace('/media/','')
new_filepach = f'{new_filepach}.webp'
return new_filepach
На локальном компьютере с win10 всё, ок.
На сервере, модель обновляется, ошибок нет, но сама картинка не сохраняется.
Подозреваю, я где то накосячил с путем файла, но только подозреваю. Сайт находится на хостинге regru и крутится в виртуальной среде, vim