我完全失去了在保存图像后应如何修改图像的问题。我有一个模型:使用ImageField保存图像后修改图像
class Pic(models.Model):
imgfile = FaceChopField(upload_to='img/%m/%d')
该图像上传就好了。我已经查找了这个问题,我发现了一些片段和类似的问题,但我仍然非常困惑。是的,我经历了一系列关于这种混乱/问题的搜索。
有什么办法,我可以只:
- 访问已保存的图像目录。
- 找到名称/目录上传的图片。
- 在图像上运行我的modify_image(文件名)。
- 将修改后的图像保存在其他目录中。
我已经通过Django网站上关于管理文件的文档了解了一段时间,并尝试了不同的解决方案,我已经钻了一堆StackOverflow。也许,我所要求的只是对前述内容的一种简单的方法。如果太麻烦了,你甚至不需要向我展示任何代码。我只是处于亏损状态,我不知道我现在在做什么,所以一些解决方案的算法布局会很好。谢谢。
这是我当前的尝试:
class FaceChopFieldFile(ImageFieldFile):
def __init__(self, *args, **kwargs):
super(FaceChopFieldFile, self).__init__(*args, **kwargs)
def save(self):
super(FaceChopFieldFile, self).save()
image_content = facechop(self.path) #my image modification function
self.storage.save(self.path, image_content)
class FaceChopField(ImageField):
attr_class = FaceChopFieldFile
class Pic(models.Model):
imgfile = FaceChopField(upload_to='img/%m/%d')
什么不对?
下面是保存后调整图像大小的示例:http://djangosnippets.org/snippets/1100/ –