这是我用来在 Django 中上传和重命名图像文件的模型,
@deconstructible
class PathAndRename(object):
def __init__(self, sub_path):
self.path = sub_path
def __call__(self, instance, filename):
ext = filename.split('.')[-1]
filename = '{}.{}'.format(uuid4().hex, ext)
return os.path.join(self.path, filename)
class Diagram(models.Model):
diagram = models.FileField(upload_to=PathAndRename("diagrams/"))
text = models.CharField(max_length = 48)
date = models.DateTimeField(auto_now_add=True, blank=True, null=True)
现在图像按照其原始格式以 .jpg 和 .png 保存。
我的问题是如何进行所有上传,无论是 .jpg 文件还是 .png 文件以通用格式存储,例如 .png 文件中的所有图像。