将临时图像保存到静态目录中或不在Django中

时间:2019-09-19 07:10:16

标签: django

我正在做一个项目,其中我使用seaborn创建一些图像,然后将其显示给用户。由于这些图像仅会持续几个小时,因此是将它们保存到static目录中的好方法,还是我应该采取其他方式?如果是这样,我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码进行操作:

import uuid

# generate unique name of image file
unique_filename = str(uuid.uuid4())

# assign file name
model.field_name = unique_filename  # model is model object

# save image in temp directory
model.field_name.save(unique_filename, file_content)

# image URL
file_url = settings.MEDIA_FILES + '/folder_name/' + unique_filename

model.save()

它将文件保存到文件夹中。

编辑

从前端获取图像:

from django.core.files.base import ContentFile

# get file from json data
format_image, img_str = image_data['file'].split(';base64,')

# file content
file_content = ContentFile(base64.b64decode(img_str))