我试图从一个URL下载图片文件并将该图片分配给Django ImageField。我已经按照这里和[这里](的示例进行操作。
我的模型,关键部分如下:
当我运行这个程序时,我收到了以下错误提示:
我的模型,关键部分如下:
class Entity(models.Model):
logo = models.ImageField(upload_to=_getLogoPath,null=True)
_getLogoPath回调函数非常简单:
def _getLogoPath(self,filename):
path = "logos/" + self.full_name
return path
获取和保存图像文件的代码也很简单,作为一个自定义的django-admin命令的一部分,我计划将其作为定期运行的cron作业:
...
img_url = "http://path.to.file/img.jpg"
img = urllib2.urlopen(img)
entity.logo.save(img_filename,img,True)
...
当我运行这个程序时,我收到了以下错误提示:
AttributeError: addinfourl instance has no attribute 'chunks'
我也尝试将read()
添加到图像中,但结果出现了类似的错误。我还尝试将图像写入临时文件,然后尝试上传该文件,但是仍然出现相同的错误。