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合并字典键值并去除重复元素的实例
Dec 18 Python
python中利用zfill方法自动给数字前面补0
Apr 10 Python
Python paramiko模块的使用示例
Apr 11 Python
python的scikit-learn将特征转成one-hot特征的方法
Jul 10 Python
pycharm执行python时,填写参数的方法
Oct 29 Python
Python面向对象程序设计示例小结
Jan 30 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
详解Python的三种可变参数
May 08 Python
pygame实现非图片按钮效果
Oct 29 Python
Python 模拟动态产生字母验证码图片功能
Dec 24 Python
python3让print输出不换行的方法
Aug 24 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 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实现分页的一个示例
2006/10/09 PHP
php学习笔记之面向对象编程
2012/12/29 PHP
php实现httpRequest的方法
2015/03/13 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
使用js 设置url参数
2013/07/08 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
vuex入门最详细整理
2020/03/04 Javascript
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
浅谈机器学习需要的了解的十大算法
2017/12/15 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
Python 函数list&read&seek详解
2019/08/28 Python
python中def是做什么的
2020/06/10 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
h5移动端调用支付宝、微信支付的实现
2020/06/08 HTML / CSS
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
GE设备配件:GE Appliance Parts(家电零件、配件和滤水器)
2018/11/28 全球购物
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
职业生涯规划书基本格式
2014/01/06 职场文书
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
美化环境标语
2014/06/20 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
MySQL系列之四 SQL语法
2021/07/02 MySQL
Vertica集成Apache Hudi重磅使用指南
2022/03/31 Servers