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实现网站文件的全备份和差异备份
Nov 30 Python
Python实现的HTTP并发测试完整示例
Apr 23 Python
Python中input与raw_input 之间的比较
Aug 20 Python
Python探索之Metaclass初步了解
Oct 28 Python
python实现拓扑排序的基本教程
Mar 11 Python
Django项目中包含多个应用时对url的配置方法
May 30 Python
Python面向对象程序设计之继承与多继承用法分析
Jul 13 Python
对Django的restful用法详解(自带的增删改查)
Aug 28 Python
python使用opencv在Windows下调用摄像头实现解析
Nov 26 Python
Tensorflow tf.tile()的用法实例分析
May 22 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 03 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
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
PHP获取MSN好友列表类的实现代码
2013/06/23 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
javascript高亮效果的二种实现方法
2008/09/14 Javascript
javascript两段代码,两个小技巧
2010/02/04 Javascript
使用jQuery实现验证上传图片的格式与大小
2014/12/03 Javascript
常用的JS验证和函数汇总
2014/12/23 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
2015/07/13 Javascript
js实现简单的验证码
2015/12/25 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
2016/03/01 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
python pyheatmap包绘制热力图
2018/11/09 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
python实现人工蜂群算法
2020/09/18 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
英国香水店:The Perfume Shop
2017/03/27 全球购物
美国在线印刷公司:PsPrint
2017/10/12 全球购物
学习十八大报告感言
2014/02/28 职场文书
员工考核评语大全
2014/04/26 职场文书
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
实习证明模板
2015/06/16 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
禁毒主题班会教案
2015/08/14 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL
springboot临时文件存储目录配置方式
2021/07/01 Java/Android
spring 项目实现限流方法示例
2022/07/15 Java/Android