我想为django-admin创建小部件,用于从网址上传图片或使用默认文件输入。
class ImageFieldFromUrlWidget(ClearableFileInput) :
def render(self, name, value, attrs=None):
base_content = super(ImageFieldFromUrlWidget, self).render(name, value, attrs=attrs)
ps_input = URLInput().render(name='ps_%s'%name, value='', attrs={})
return mark_safe(ps_input + base_content)
def value_from_datadict(self, data, files, name):
if data.get('ps_%s' % name, False) :
import io, requests
from urllib import request
raw_image = requests.get(data.get('ps_%s' % name)).content
new_file = InMemoryUploadedFile(io.BytesIO(raw_image), name, 'temp.jpg', 'jpeg', None, None)
return new_file
return super(ImageFieldFromUrlWidget, self).value_from_datadict(data, files, name)
我想下载文件并将其放入files-array进行默认保存。
但是当我发送数据时,我收到错误" The submitted file is empty
"。
这是怎么回事?有什么想法吗?
PS我需要控制get-request,下载图片(设置cookie)