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


Posted in Python onAugust 07, 2019

有这样的情形,django个人头像在model中是:

class UserProfile(AbstractUser):
 """
 用户
 """
 name = models.CharField(max_length=30, null=True, blank=True, verbose_name="姓名")
 image = models.ImageField(max_length=1000,upload_to='avatar/%Y/%m/', verbose_name=u'头像', null=True, blank=True)

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

例如:

image = request.data.get('image', None)
...
user.image=image
user.save()

但是,有这样的情况,如果是第三方,例如微博登录,前端通过微博接口获取到微博头像,post上来的就是头像的地址,https://xxx.xxx.jpg

这个时候如何通过图片url,保存到django的model中呢?

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

from django.core.files import File
from io import BytesIO
from urllib.request import urlopen
 
url = request.data.get('image', None)
r = urlopen(url)
io = BytesIO(r.read())
user.image.save("{}_{}.jpg".format(user.id,int(time.time())), File(io))

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

Python 相关文章推荐
实例Python处理XML文件的方法
Aug 31 Python
Python用sndhdr模块识别音频格式详解
Jan 11 Python
pandas的object对象转时间对象的方法
Apr 11 Python
Python PyQt4实现QQ抽屉效果
Apr 20 Python
Python 实现两个服务器之间文件的上传方法
Feb 13 Python
python字典改变value值方法总结
Jun 21 Python
python for和else语句趣谈
Jul 02 Python
python实现微信小程序用户登录、模板推送
Aug 28 Python
matplotlib图例legend语法及设置的方法
Jul 28 Python
利用python批量爬取百度任意类别的图片的实现方法
Oct 07 Python
python小程序之飘落的银杏
Apr 17 Python
浅谈Python从全局与局部变量到装饰器的相关知识
Jun 21 Python
Python学习笔记之文件的读写操作实例分析
Aug 07 #Python
详解python中__name__的意义以及作用
Aug 07 #Python
Pandas0.25来了千万别错过这10大好用的新功能
Aug 07 #Python
Python编程学习之如何判断3个数的大小
Aug 07 #Python
Python使用import导入本地脚本及导入模块的技巧总结
Aug 07 #Python
python可视化篇之流式数据监控的实现
Aug 07 #Python
Python+AutoIt实现界面工具开发过程详解
Aug 07 #Python
You might like
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
php下关于中英数字混排的字符串分割问题
2010/04/06 PHP
Discuz不使用插件实现简单的打赏功能
2019/03/21 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
为数据添加append,remove功能
2006/10/03 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
javascript表单验证和Window详解
2014/12/11 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
Vue页面骨架屏注入方法
2018/05/13 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
2020/08/10 Javascript
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
2018/11/06 Python
修改默认的pip版本为对应python2.7的方法
2018/11/06 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
季度思想汇报
2014/01/01 职场文书
县优秀教师事迹材料
2014/01/31 职场文书
质量负责人任命书
2014/06/06 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
2014年检验员工作总结
2014/11/19 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
好员工观后感
2015/06/17 职场文书
正规欠条模板
2015/07/03 职场文书
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android