我遇到了此过程问题:我想使用requests
下载图像,然后使用PIL
对其进行裁切,然后将其保存到型号ImageField
。Django。下载带请求的图片 - 使用PIL编辑 - 保存至型号
这是我现在有:
from django.core.files.base import ContentFile
import requests
from StringIO import StringIO
from PIL import Image
def get_img_url(url_img):
answer = requests.get(url_img)
image = Image.open(StringIO(answer.content))
new_image = image.crop((22, 44, 221, 165))
return image
class FormNewCard(forms.ModelForm):
....
def save(self, **kwargs):
url_image = self.cleaned_data['imagen']
pil_img = get_img_url(url_img)
stringio_obj = StringIO()
try:
pil_img.save(stringio_obj, format="JPG")
final_image = stringio_obj.getvalue()
self.image = ContentFile(final_image)
finally:
stringio_obj.close()
我得到这个错误:
pil_img.save(stringio_obj, format="JPG")
KeyError at /hisoka/new_card/
'JPG'
我知道错误是纯粹的PIL问题,我不知道如何解决它(尝试了几次),但是,我想知道我正在做的是正确的还是有更好的方法来实现这一点。
你的意思是上传我想... – Wtower
尝试设置'格式=“JPEG”'而不是'“JPG”' – JRodDynamite
@JRodDynamite它工作时,我做到了...... thnx。 – alejoss