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 18 Python
python+selenium实现登录账户后自动点击的示例
Dec 22 Python
Python中多个数组行合并及列合并的方法总结
Apr 12 Python
python 利用for循环 保存多个图像或者文件的实例
Nov 09 Python
python 用for循环实现1~n求和的实例
Feb 01 Python
python3实现绘制二维点图
Dec 04 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
Python @property原理解析和用法实例
Feb 11 Python
python 实现读取csv数据,分类求和 再写进 csv
May 18 Python
python实现npy格式文件转换为txt文件操作
Jul 01 Python
Python selenium模块实现定位过程解析
Jul 09 Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 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过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2014/05/15 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
javascript代码加载优化方法
2011/01/30 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
jquery对象和DOM对象的任意相互转换
2016/02/21 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
浏览器复制插件zeroclipboard使用指南
2016/03/26 Javascript
javascript添加前置0(补零)的几种方法
2017/01/05 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
Python yield 使用方法浅析
2017/05/20 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
Html5页面二次分享的实现
2018/07/30 HTML / CSS
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
2014年大学生自我评价
2014/01/19 职场文书
黄金酒广告词
2014/03/21 职场文书
初中生评语大全
2014/04/24 职场文书
2014年环保局工作总结
2014/12/11 职场文书
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers
TV动画《八十龟酱观察日记》第四季宣传PV公布
2022/04/06 日漫
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android