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 ElementTree 基本读操作示例
Apr 09 Python
Python性能优化的20条建议
Oct 25 Python
python实现按任意键继续执行程序
Dec 30 Python
Python搭建FTP服务器的方法示例
Jan 19 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
Tornado实现多进程/多线程的HTTP服务详解
Jul 25 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
Django模板获取field的verbose_name实例
May 19 Python
Python 如何定义匿名或内联函数
Aug 01 Python
python用Configobj模块读取配置文件
Sep 26 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
php中对xml读取的相关函数的介绍一
2008/06/05 PHP
php object转数组示例
2014/01/15 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
Zend Framework缓存Cache用法简单实例
2016/03/19 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
2017/09/26 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
2019/05/31 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
python 简单的多线程链接实现代码
2016/08/28 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
python 动态加载的实现方法
2017/12/22 Python
简单谈谈python中的lambda表达式
2018/01/19 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
美国手机支架公司:PopSockets
2019/11/27 全球购物
读书活动总结
2014/04/28 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
中秋节感想
2015/08/10 职场文书
学风建设主题班会
2015/08/17 职场文书
mysql sock文件存储了什么信息
2022/07/15 MySQL