Django-imagekit的使用详解


Posted in Python onJuly 06, 2020

ImageKit是一个用于处理图像的Django应用程序。需要一个缩略图吗?用户上传图片的黑白版本?ImageKit会为你制作。如果需要通过编程从另一个图像生成一个图像,则需要ImageKit。
ImageKit提供了一组图像处理器,用于调整大小和裁剪等常见任务,但您也可以创建自己的图像处理器。

1、安装

要在 Django 使用 ImageField 模块,必须先安装第三方库 Pillow:

pip install pillow
pip install django-imagekit

完成上述步骤后,在 Django 项目的 settings.py 文件中的 INSTALLED_APPS 添加上imagekit

现在准备工作全部完成,可以在项目中使用 django-imagekit 来处理图片了。

2、简单例子

我们在 modles 中这样使用django-imagekit

from django.db import models
from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill

class Profile(models.Model):
  name = models.CharField(max_length = 50)

  # 原图
  picture = models.ImageField(upload_to = 'test_pictures') 

  # 注意:ImageSpecField不会生成数据库中的表
  # 处理后的图片
  picture_90x90 = ImageSpecField(
    source="picture", 
    processors=[ResizeToFill(90, 90)], # 处理后的图像大小
    format='JPEG', # 处理后的图片格式
    options={'quality': 95} # 处理后的图片质量
    )

  def __str__(self):
    return self.name

图片上传后会根据我们的设定生成相应的处理后的图片。

3、前端显示

要在前端显示处理后的图片只需这样:

src="{{ profile.picture_90x90.url }}

附录:django imagekit处理图片

文档地址: https://django-imagekit.readthedocs.io/en/latest/

基本用法

from pilkit.processors import ResizeToFill
from imagekit.models import ProcessedImageField
image = ProcessedImageField(upload_to='movie/images',
              processors=[ResizeToFill(480, 326)],
              format='JPEG',
              options={'quality': 60}, verbose_name='展示图片')

总结

到此这篇关于Django-imagekit的使用的文章就介绍到这了,更多相关Django imagekit的使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
基于Python代码编辑器的选用(详解)
Sep 13 Python
Python中利用xpath解析HTML的方法
May 14 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
Python代码打开本地.mp4格式文件的方法
Jan 03 Python
ML神器:sklearn的快速使用及入门
Jul 11 Python
python实现日志按天分割
Jul 22 Python
Python实现直播推流效果
Nov 26 Python
Python ORM框架Peewee用法详解
Apr 29 Python
python -v 报错问题的解决方法
Sep 15 Python
Python自然语言处理之切分算法详解
Apr 25 Python
Django 实现jwt认证的示例
Apr 30 Python
Python使用protobuf序列化和反序列化的实现
May 19 Python
大数据分析用java还是Python
Jul 06 #Python
python文件操作seek()偏移量,读取指正到指定位置操作
Jul 05 #Python
python 读txt文件,按‘,’分割每行数据操作
Jul 05 #Python
python如何调用java类
Jul 05 #Python
使用Python文件读写,自定义分隔符(custom delimiter)
Jul 05 #Python
如何清空python的变量
Jul 05 #Python
增大python字体的方法步骤
Jul 05 #Python
You might like
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
浅析return false的正确使用
2013/11/04 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
简单的JS时钟实例讲解
2016/01/13 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
js拖动滑块和点击水波纹效果实例代码
2018/10/16 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
微信小程序实现自定义底部导航
2020/11/18 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
读写json中文ASCII乱码问题的解决方法
2016/11/05 Python
python difflib模块示例讲解
2017/09/13 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
python正则实现提取电话功能
2018/02/24 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
python 对xml解析的示例
2021/02/27 Python
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
Born鞋子官网:Born Shoes
2017/04/06 全球购物
实习生单位鉴定意见
2013/12/04 职场文书
简历中自我评价范文3则
2013/12/14 职场文书
绿化工程实施方案
2014/03/17 职场文书
个人求职意向书
2015/05/11 职场文书
2015小学师德工作总结
2015/07/21 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL