我试图从URL下载图像文件,然后将该图像分配给Django ImageField。我跟着例子here和[这里](以编程方式将文件添加到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
代码用于提取和保存图像文件也很简单,作为我计划以定期计划的cron作业运行的自定义django-admin命令的一部分:
...
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()
的图像,但导致了类似的错误。我也尝试将图片写入临时文件,然后尝试上传,但我得到了同样的错误。
你可以添加引发异常的代码部分吗? –