Я хочу создать миниатюры для загруженных изображений. Я знаю, что есть некоторые библиотеки, но у меня есть очень простые потребности, и я бы предпочел сделать это сам.Django save файл
Моя модель выглядит следующим образом:
from image_tools import resize
class Photo(models.Model):
# some fields
image = models.ImageField(
upload_to='images',
height_field='height',
width_field='width'
)
thumb = models.ImageField(
upload_to='thumbs',
editable=False
)
def save(self):
self.thumb = self.image
resize(self.image.path, self.thumb.path, 50, 40)
super(Photo, self).save()
Здесь resize()
простая функция, которую я написал, который принимает в качестве аргументов путь к исходному файлу и путь назначения и размеры и хранит миниатюры. Единственная проблема заключается в том, что файл еще не находится на диске в данный момент.
Есть ли способ принудительно сохранить файл на своем месте, чтобы он был доступен моей функции?
Пожалуйста, не стесняйтесь предлагать лучшие способы решения этой проблемы. Тем не менее, я хотел бы знать, как обрабатывать файлы, которые еще не сохранены, какими бы ни были наилучшие решения.
Я прочитал выгрузку Джанго файл, и я не нашел ответа на мой вопрос. Можете ли вы быть более конкретным? «Как только у вас есть данные необработанного изображения, вы можете легко записать его в файл» - именно то, о чем я спрашиваю, как это сделать. – Andrea