내 모델에는 다음이 있습니다.
class Alias(MyBaseModel):
remote_image = models.URLField(max_length=500, null=True, help_text="A URL that is downloaded and cached for the image. Only
used when the alias is made")
image = models.ImageField(upload_to='alias', default='alias-default.png', help_text="An image representing the alias")
def save(self, *args, **kw):
if (not self.image or self.image.name == 'alias-default.png') and self.remote_image :
try :
data = utils.fetch(self.remote_image)
image = StringIO.StringIO(data)
image = Image.open(image)
buf = StringIO.StringIO()
image.save(buf, format='PNG')
self.image.save(hashlib.md5(self.string_id).hexdigest() + ".png", ContentFile(buf.getvalue()))
except IOError :
pass
처음으로 remote_image
변경 사항이 훌륭합니다 .
누군가가 remote_image
별칭을 수정했을 때 새 이미지를 가져 오려면 어떻게 해야합니까? 둘째, 원격 이미지를 캐시하는 더 좋은 방법이 있습니까?