django将网络中的图片,保存成model中的ImageField的实例

作者:一只小coder 时间:2023-12-23 01:11:33 

有这样的情形,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

标签:django,model,ImageField
0
投稿

猜你喜欢

  • Oracle导出excel数据

    2023-07-18 17:44:14
  • python基于TCP实现的文件下载器功能案例

    2021-12-30 05:14:26
  • python列表的增删改查实例代码

    2021-08-11 04:06:51
  • SQL语句中JOIN的用法场景分析

    2024-01-15 05:05:49
  • Oracle 创建监控账户 提高工作效率

    2009-10-14 11:47:00
  • Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法

    2022-03-10 21:04:56
  • 二级下拉菜单代码

    2008-11-01 18:18:00
  • 在ASP中通过oo4o连接Oracle数据库的例子

    2008-10-12 12:55:00
  • 解决pycharm回车之后不能换行或不能缩进的问题

    2023-06-11 10:45:40
  • 对Python的Django框架中的项目进行单元测试的方法

    2021-02-23 03:17:04
  • 解决Python正则表达式匹配反斜杠''\\''问题

    2022-06-19 09:10:55
  • vue使用pdf.js预览pdf文件的方法

    2024-04-27 16:06:24
  • bootstrapValidator表单验证插件学习

    2024-04-10 13:53:34
  • 利用Python脚本实现自动刷网课

    2023-04-20 12:39:16
  • python去重,一个由dict组成的list的去重示例

    2023-09-26 03:54:44
  • Linux中Oracle启动侦听报错TNS:permission denied的解决方法

    2024-01-14 02:44:17
  • Go语言中map使用和并发安全详解

    2024-04-26 17:21:00
  • 用Python将mysql数据导出成json的方法

    2024-01-26 09:08:58
  • 浅谈PHP中的Trait使用方法

    2023-11-08 09:25:33
  • 简单实现SQLServer转MYSQL的方法

    2024-01-21 20:12:13
  • asp之家 网络编程 m.aspxhome.com