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中pass语句用法实例分析
Apr 30 Python
ansible作为python模块库使用的方法实例
Jan 17 Python
Python Django给admin添加Action的方法实例详解
Apr 29 Python
python按行读取文件并找出其中指定字符串
Aug 08 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
Python有参函数使用代码实例
Jan 06 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
Feb 03 Python
Python try except异常捕获机制原理解析
Apr 18 Python
Tensorflow中的降维函数tf.reduce_*使用总结
Apr 20 Python
Django项目在pycharm新建的步骤方法
Mar 02 Python
Python图片验证码降噪和8邻域降噪
Aug 30 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
德生PL330测评
2021/03/02 无线电
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
PHP设计模式之抽象工厂模式实例分析
2019/03/25 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
jQuery toggle()设置CSS样式
2009/11/05 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
python基础教程之面向对象的一些概念
2014/08/29 Python
Django与JS交互的示例代码
2017/08/23 Python
Python日志模块logging基本用法分析
2018/08/23 Python
学生信息管理系统python版
2018/10/17 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
2020/02/29 Python
Python configparser模块常用方法解析
2020/05/22 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
医学生实习自我鉴定
2013/09/27 职场文书
绩效管理实施方案
2014/03/19 职场文书
任命书怎么写
2014/06/04 职场文书
2015年会计工作总结范文
2015/05/26 职场文书
感恩的心主题班会
2015/08/12 职场文书
2016年第32个教师节致辞
2015/11/26 职场文书
JAVA springCloud项目搭建流程
2022/05/11 Java/Android
Python如何加载模型并查看网络
2022/07/15 Python