django上传图片并生成缩略图方法示例

yipeiwu_com5年前Python基础

django 处理上传图片生成缩略图首先要注意form标签上必须有enctype="multipart/form-data"属性,另外要装好PIL库, 然后就很简单了,如下是实例代码:

upload.html

<div id="uploader"> 
  <form id="upload" enctype="multipart/form-data" action="/ajax/upload/" method="post"> 
    <input id="file" name="file" type="file"> 
    <input type="submit" value="Upload"> 
  </form> 
</div> 

view.py

# -*- coding: utf-8 -*- 
from django.http import HttpResponse 
import Image 

def upload(request):   
  reqfile = request.FILES['file'] 
  image = Image.open(reqfile) 
  image.thumbnail((128,128),Image.ANTIALIAS) 
  image.save("/home/lhb/1.jpeg","jpeg") 
  return HttpResponse("success.") 

下面介绍下生成缩略图质量差的解决办法。

使用python的PIL库的thumbnail方法生成缩略图的质量很差,需要使用resize方法来生成缩略图,并制定缩略图的质量,如下代码:

image = image.resize((x, y), Image.ANTIALIAS)
quality_val = 90
image.save(filename, 'JPEG', quality=quality_val)

总结

以上就是本文关于django上传图片并生成缩略图方法示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

Python内置模块turtle绘图详解

Python实战小程序利用matplotlib模块画图代码分享

Python科学画图代码分享

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

浅谈用VSCode写python的正确姿势

浅谈用VSCode写python的正确姿势

最近在学习python,之前一直用notepad++作为编辑器,偶然发现了VScode便被它的颜值吸引。用过之后发现它启动快速,插件丰富,下载安装后几乎不用怎么配置就可以直接使用,而且还...

python基础之包的导入和__init__.py的介绍

调用同级目录: – src |– mod.py |– test.py 若在程序test.py中导入模块mod, 则直接使用 import mod 或 from mod im...

Python使用到第三方库PyMuPDF图片与pdf相互转换

使用 Python 进行图片和pdf之间的相互转换 使用到第三方库 PyMuPDF 在 python 环境下对 PDF 文件的操作。 PDF 转为图片 需新建文件夹 pdf2png...

python操作mongodb根据_id查询数据的实现方法

本文实例讲述了python操作mongodb根据_id查询数据的实现方法。分享给大家供大家参考。具体分析如下: _id是mongodb自动生成的id,其类型为ObjectId,所以如果需...

python pandas读取csv后,获取列标签的方法

在Python中,经常会去读csv文件,如下 import pandas as pd import numpy as np df = pd.read_csv("path.csv")...