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

yipeiwu_com7年前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科学画图代码分享

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

相关文章

Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例

本文实例讲述了python找到最大或最小的N个元素实现方法。分享给大家供大家参考,具体如下: 问题:想在某个集合中找出最大或最小的N个元素 解决方案:heapq模块中的nlargest(...

通过PHP与Python代码对比的语法差异详解

一、背景 人工智能这几年一直都比较火,笔者一直想去学习一番;因为一直是从事PHP开发工作,对于Python接触并不算多,总是在关键时候面临着基础不牢,地动山摇的尴尬,比如在遇到稍微深入...

深入理解Python中的内置常量

前言 大家都知道Python内置的常量不多,只有6个,分别是True、False、None、NotImplemented、Ellipsis、__debug__。下面就来看看详细的介绍:...

使用Python内置的模块与函数进行不同进制的数的转换

使用Python内置的模块与函数进行不同进制的数的转换

binascii 模块: 它包含一个把二进制数值转换成十六进制的函数,同样也可以反过来转。 #binary_value是二进制数值不是字符串,也不是int型的1010 binasci...

Python实现将字符串的首字母变为大写,其余都变为小写的方法

利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。 思路:使用capitalize()函数将字符串的首字母转为大写,其余变为小写 L1 = ['A...