django将网络中的图片,保存成model中的ImageField的实例
作者:一只小coder 发布时间:2023-12-23 01:11:33
标签:django,model,ImageField
有这样的情形,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))
来源:https://blog.csdn.net/u014633966/article/details/85282664


猜你喜欢
- 大家通过手机自带浏览器打开百度、淘宝,在首页加载完毕后,会自动隐藏页面上方的地址栏,加之这些网站针对手机浏览器做了优化,乍看之下,还真难区分
- 今天研究了一下JS的用setAttribute方法实现一个页面两份样式表的效果,具体方法如下:第一步:在连接样式表的元素里定义一个id,例如
- 一个网站的导航就相当于是一条路的路标,不同的是,网站的不同栏目页的入口远远比马路要来得复杂,所以一个清晰的导航设计对于一个网站的意义远远大于
- 一、日志输出到文件使用模块:logging可以生成自定义等级日志,可以输出日志到指定路径日志等级:debug(调试日志) < info
- 大家可以先参考官方演示文档:效果图:'''==============3D scatterplot=========
- 如下所示:from urllib.parse import quoteimport stringurl = r'http://www
- 概述在JavaScript前端开发中,函数与对其状态即词法环境(lexical environment)的引用共同构成闭包(closure)
- 这里假设你是通过models的ImageField上传图片,并期望在前台img标签中能显示。能否访问图片关键在于,是否能通过正确的路径访问。
- 概述要访问一个变量的内容,可以直接使用其名称。如果该变量是一个数组,可以使用变量名称和关键字或索引的组合来访问其内容。像其他变量一样,使用运
- 随着大数据时代的到来,数据将如同煤电气油一样,成为我们最重要的能源之一,然而这种能源是可以源源不断产生、可再生的。而Python爬虫作为获取
- 本文实例讲述了Java读取文件及基于正则表达式的获取电话号码功能。分享给大家供大家参考,具体如下:1、正则表达式正则表达式,又称 正规表示法
- 本文实例讲述了python实现在字符串中查找子字符串的方法。分享给大家供大家参考。具体如下:这里实现python在字符串中查找子字符串,如果
- Pyppeteer简介Puppeteer 是 Google 基于 Node.js 开发的一个工具,有了它我们可以通过 JavaScript
- 每次使用python获取查询结果的时候,都会纠结一段时间到底用fetchone和fetchall,用不好容易报错,关键在于没有搞清楚它们之间
- 提起python做网络爬虫就不得不说到强大的组件urllib2。在python中正是使用urllib2这个组件来抓取网页的。urllib2是
- 阅读前:Pro Javascript Techniques翻译连载说明和目录JavaScript的演化是渐进而稳固的。历经过去十年的进程,J
- 前言使用 Pandas 的between 、cut、qcut 和 value_count离散化数值变量。分箱是一种常见的数据预处理技术有时也
- 前言本专栏内容目前已经比较系统了,核心内容也相对完整,本系列文章会根据Spring Security社区的发展逐步的更新内容。请大家多多关注
- 装饰器简介:装饰器(decorator)是一种高级Python语法。装饰器可以对一个函数、方法或者类进行加工。在Python中,我们有多种方
- 本文实例讲述了Python简单实现网页内容抓取功能。分享给大家供大家参考,具体如下:使用模块:import urllib2 import u