django将网络中的图片,保存成模型中的ImageField的实例

  

<强>有这样的情形,django个人头像在模型中是:

        UserProfile类(AbstractUser):   ”“”   用户   ”“”   name=模型。null=True CharField (max_length=30日,空白=True, verbose_name=靶彰?   形象=模型。ImageField (max_length=1000, upload_to=栋⒎泊铩?% Y/% m/', verbose_name=u“头”像,null=True,空白=True)      

正常情况下,需要客户端(应用或者浏览器柱上来图片,然后保存到图片中)

  

例如:         形象=request.data。(“形象”,没有一个)   …   user.image=图像   user.save ()      

但是,有这样的情况,如果是第三方,例如微博登录,前端通过微博接口获取到微博头,像帖子上来的就是头像的地址,https://cache.yisu.com/upload/information/20200622/113/26456.jpg

  

<强>这个时候如何通过图片url,保存到django的模型中呢?

  

思路是,先通过url下载图片,然后保存

        从django.core。文件导入文件   从io进口BytesIO   urllib。要求进口urlopen      url=request.data。(“形象”,没有一个)   r=urlopen (url)   io=BytesIO (r.read ())   user.image.save (“{} _ {} . jpg”.format (user.id, int (time.time())),文件(io))      

以上这篇django将网络中的图片,保存成模型中的ImageField的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

django将网络中的图片,保存成模型中的ImageField的实例