ImageField で画像を取得するモデルがあります。
class Result(models.Model):
image = models.ImageField(upload_to=get_userphoto_upload_path)
URL または画像のいずれかを取ることができ、画像を透過的にモデルに保存するフォームが必要です。
これは私が考えていることです:
class ResultForm(forms.ModelForm):
externalsource = forms.URLField(label='External URL', required=False)
def clean(self):
cleaned_data = super(ResultForm, self).clean()
externalsource = cleaned_data.get('externalsource', False)
if externalsource:
req = requests.get(externalsource)
image = StringIO(req.content)
self.image.save(image)
class Meta:
fields = ['image']
model = Result
私は self.image.save(image) が正しくないことを知っています (self.image は存在しません) ...それがフォームではなくモデルである場合、画像を手動で保存する方法です。その代わりに何を使用すればよいかわかりません。