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
画像ファイルを取得して保存するためのコードも、定期的にスケジュールされた 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()
ましたが、同様のエラーが発生しました。また、画像を一時ファイルに書き込んでからアップロードしようとしましたが、同じエラーが発生します。