django將網(wǎng)絡(luò)中的圖片,保存成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))
以上這篇django將網(wǎng)絡(luò)中的圖片,保存成model中的ImageField的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中搜索和替換文件中的文本的實現(xiàn)(四種)
本文主要介紹了Python中搜索和替換文件中的文本的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10
Python?中strip()函數(shù)詳細說明及使用方法
strip()函數(shù)是Python字符串方法之一,用于處理字符串的前導(dǎo)和尾隨空白字符,它返回一個新字符串,該字符串是原始字符串去除前導(dǎo)和尾隨空格(包括空格、制表符、換行符等)后的結(jié)果,這篇文章主要介紹了Python?中strip()函數(shù)詳細說明及使用方法,需要的朋友可以參考下2024-02-02
python讀取當前目錄下的CSV文件數(shù)據(jù)
這篇文章主要為大家詳細介紹了python讀取當前目錄下的CSV文件數(shù)據(jù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03
windows環(huán)境下tensorflow安裝過程詳解
這篇文章主要為大家詳細介紹了windows環(huán)境下tensorflow安裝過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03
基于python實現(xiàn)的抓取騰訊視頻所有電影的爬蟲
這篇文章主要介紹了用python實現(xiàn)的抓取騰訊視頻所有電影的爬蟲,這個程序使用芒果存, 所以大家需要下載使用mongodb才可以2016-04-04
Python實現(xiàn)自定義函數(shù)的5種常見形式分析
這篇文章主要介紹了Python實現(xiàn)自定義函數(shù)的5種常見形式,結(jié)合實例形式較為詳細的分析了Python自定義函數(shù)相關(guān)的參數(shù)、默認值、隱函數(shù)等相關(guān)操作技巧與注意事項,需要的朋友可以參考下2018-06-06

