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中统计函数运行耗时的方法
May 05 Python
Django原生sql也能使用Paginator分页的示例代码
Nov 15 Python
使用Python爬取最好大学网大学排名
Feb 24 Python
Python实现线程状态监测简单示例
Mar 28 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
May 15 Python
Django框架模板介绍
Jan 15 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
Feb 17 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
python 下载文件的多种方法汇总
Nov 17 Python
详解python3类型注释annotations实用案例
Jan 20 Python
python 实现图片裁剪小工具
Feb 02 Python
教你如何使用Python实现二叉树结构及三种遍历
Jun 18 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
如何使用脚本模仿登陆过程
2006/11/22 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
PHP实现递归复制整个文件夹的类实例
2015/08/03 PHP
php获取汉字拼音首字母的方法
2015/10/21 PHP
accesskey 提交
2006/06/26 Javascript
一个加载js文件的小脚本
2007/06/28 Javascript
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
2017/04/25 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
用Python创建声明性迷你语言的教程
2015/04/13 Python
python获取各操作系统硬件信息的方法
2015/06/03 Python
Python中的变量和作用域详解
2016/07/13 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
猫咪家具:CatsPlay
2018/11/03 全球购物
实习生单位鉴定意见
2013/12/04 职场文书
致跳远运动员广播稿
2014/02/11 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
关于运动会的广播稿(10篇)
2014/09/12 职场文书
小学生纪念九一八事变演讲稿
2014/09/14 职场文书
2015年复活节活动总结
2015/02/27 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
安全生产感想
2015/08/07 职场文书
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python