亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python/Django后端使用PIL Image生成頭像縮略圖

 更新時間:2019年04月30日 09:16:19   作者:Lockeyi  
這篇文章主要為大家詳細介紹了Python/Django后端使用PIL Image生成頭像縮略圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Python/Django后端使用PIL Image生成頭像縮略圖的具體代碼,供大家參考,具體內容如下

import os
from django.views.generic import View
from myapp.models import User
from PIL import Image

def make_thumbnail(infile,thumbnail_dir):
 size = (156, 156)
 if not os.path.exists(thumbnail_dir):#判斷縮略圖存儲目錄是否存在then新建
 os.mkdir(thumbnail_dir)
 outfile = os.path.join( thumbnail_dir, os.path.basename(infile))
 try:
 im = Image.open(infile)#Key Point
 im.thumbnail(size)#Key Point
 im.save(outfile, "JPEG")#Key Point
 return True
 except IOError, err:
 print("cannot create thumbnail for", infile,err)
 return False

class Useravatar(View):
 def __init__(self):
 self.thumbnail_dir = os.path.join(STATIC_ROOT, 'avatar/thumbnails')
 self.dest_dir = os.path.join(STATIC_ROOT, 'avatar/origin_imgs')

 @method_decorator(login_required)
 def post(self, request):
 nt_id = request.session.get('nt_id', 'default')
 user = User.objects.get(pk=nt_id) if User.objects.filter(pk=nt_id).exists() else None
 avatarImg = request.FILES['avatar']
 if not os.path.exists(self.dest_dir):#判斷原圖存儲目錄是否存在then新建
  os.mkdir(self.dest_dir)
 dest = os.path.join(self.dest_dir, nt_id+"_avatar.jpg")
 with open(dest, "wb+") as destination:#先保存原圖
  for chunk in avatarImg.chunks():
  destination.write(chunk)
 if make_thumb(dest,self.thumbnail_dir):#使用原圖創(chuàng)建縮略圖
  avartaPath = os.path.join(STATIC_URL, 'avatar/thumbnails', nt_id + "_avatar.jpg")
 else:
  avartaPath = os.path.join(STATIC_URL, 'avatar/origin_imgs', nt_id + "_avatar.jpg")

 User.objects.filter(nt_id=nt_id).update(avatar=avartaPath)
 return render(request, 'profile.html', {'user': user})

示例代碼中將制作縮略圖的函數(shù)從基于類的視圖中分離出來了(為了清晰起見),實際編程過程中可以定義為類方法方面調用。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python實現(xiàn)隨機從圖像中獲取多個patch

    Python實現(xiàn)隨機從圖像中獲取多個patch

    經(jīng)常有一些圖像任務需要從一張大圖中截取固定大小的patch來進行訓練。本文就來和大家聊聊如何用Python實現(xiàn)隨機從圖像中獲取多個patch,感興趣的可以了解一下
    2022-08-08
  • 使用python搭建代理IP池實現(xiàn)接口設置與整體調度

    使用python搭建代理IP池實現(xiàn)接口設置與整體調度

    在網(wǎng)絡爬蟲中,代理IP池是一個非常重要的組件,由于許多網(wǎng)站對單個IP的請求有限制,因此,我們需要一個代理IP池,在本文中,我們將使用Python來構建一個代理IP池,然后,我們將使用這個代理IP池來訪問我們需要的數(shù)據(jù),文中有相關的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • Python實現(xiàn)指定范圍內篩選并剔除Excel表格中的數(shù)據(jù)

    Python實現(xiàn)指定范圍內篩選并剔除Excel表格中的數(shù)據(jù)

    這篇文章主要為大家詳細介紹了Python如何實現(xiàn)在指定范圍內篩選并剔除Excel表格中的數(shù)據(jù),文中的示例代碼講解詳細,感興趣的可以了解一下
    2023-06-06
  • 使用Python快速搭建文件傳輸服務的方法

    使用Python快速搭建文件傳輸服務的方法

    這篇文章主要介紹了使用Python快速搭建一個文件傳輸服務,這樣任何一個人都能打開瀏覽器把他電腦上的文件傳給我了,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • python讀csv文件時指定行為表頭或無表頭的方法

    python讀csv文件時指定行為表頭或無表頭的方法

    這篇文章主要介紹了python讀csv文件時指定行為表頭或無表頭的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • OpenCV python sklearn隨機超參數(shù)搜索的實現(xiàn)

    OpenCV python sklearn隨機超參數(shù)搜索的實現(xiàn)

    這篇文章主要介紹了OpenCV python sklearn隨機超參數(shù)搜索的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • Python教程之Python多態(tài)的深層次理解

    Python教程之Python多態(tài)的深層次理解

    相信很多在學Python的朋友都有了解過多態(tài),本篇文章來帶大家更進一步的深入了解Python多態(tài),有需要的朋可以借鑒參考下,希望可以有所幫助
    2021-09-09
  • Python 實用技巧之利用Shell通配符做字符串匹配

    Python 實用技巧之利用Shell通配符做字符串匹配

    這篇文章主要介紹了Python 實用技巧之利用Shell通配符做字符串匹配的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Python 標準庫zipfile將文件夾加入壓縮包的操作方法

    Python 標準庫zipfile將文件夾加入壓縮包的操作方法

    Python zipfile 庫可用于壓縮/解壓 zip 文件. 本文介紹一下如何創(chuàng)建壓縮包,對Python zipfile壓縮包相關知識感興趣的朋友一起看看吧
    2021-09-09
  • python查看矩陣的行列號以及維數(shù)方式

    python查看矩陣的行列號以及維數(shù)方式

    這篇文章主要介紹了python查看矩陣的行列號以及維數(shù)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05

最新評論