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对IP进行转换的一些操作技巧小结
Nov 09 Python
Python获取当前页面内所有链接的四种方法对比分析
Aug 19 Python
python 对给定可迭代集合统计出现频率,并排序的方法
Oct 18 Python
python使用wxpy轻松实现微信防撤回的方法
Feb 21 Python
python3.7 的新特性详解
Jul 25 Python
40个你可能不知道的Python技巧附代码
Jan 29 Python
Python Map 函数的使用
Aug 28 Python
Django crontab定时任务模块操作方法解析
Sep 10 Python
Python+kivy BoxLayout布局示例代码详解
Dec 28 Python
Pycharm制作搞怪弹窗的实现代码
Feb 19 Python
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
May 31 Python
Python中22个万用公式的小结
Jul 21 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 curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
Jquery性能优化详解
2014/05/15 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
修改或扩展jQuery原生方法的代码实例
2015/01/13 Javascript
javascript回到顶部特效
2016/07/30 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
vue.js的提示组件
2017/03/02 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
python的绘图工具matplotlib使用实例
2014/07/03 Python
Python实现的爬虫功能代码
2017/06/24 Python
python放大图片和画方格实现算法
2018/03/30 Python
python实现字符串和字典的转换
2018/09/29 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
pytorch使用horovod多gpu训练的实现
2020/09/09 Python
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
TCP/IP的分层模型
2013/10/27 面试题
linux面试题参考答案(9)
2015/01/07 面试题
学习考察心得体会
2014/09/04 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
走进毛泽东观后感
2015/06/04 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技