我有一个在 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 不存在)......如果它是模型而不是表单,这就是我手动保存图像的方式。我不确定我应该用什么代替它。