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使用新浪微博API发送微博的例子
Apr 10 Python
Python两个整数相除得到浮点数值的方法
Mar 18 Python
python开启多个子进程并行运行的方法
Apr 18 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
Nov 03 Python
dataframe设置两个条件取值的实例
Apr 12 Python
python操作excel的包(openpyxl、xlsxwriter)
Jun 11 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
Jul 11 Python
python实现根据指定字符截取对应的行的内容方法
Oct 23 Python
python3.6 如何将list存入txt后再读出list的方法
Jul 02 Python
Python中的引用和拷贝实例解析
Nov 14 Python
python如何实现DES加密
Sep 21 Python
Python的scikit-image模块实例讲解
Dec 30 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数组应该有多大的分析
2009/07/30 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
php获取汉字首字母的函数
2013/11/07 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
jQuery拖动图片删除示例
2013/05/10 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
关于axios如何全局注册浅析
2018/01/14 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
python生成指定长度的随机数密码
2014/01/23 Python
python 获取网页编码方式实现代码
2017/03/11 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
纯css3实现走马灯效果
2014/12/26 HTML / CSS
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
俄语专业职业生涯规划
2014/02/26 职场文书
大学新生军训自我鉴定
2014/03/18 职场文书
党课培训主持词
2014/04/01 职场文书
企业党员一句话承诺
2014/05/30 职场文书
班级文化标语
2014/06/23 职场文书
学生自我评语
2015/01/04 职场文书
法院执行局工作总结
2015/08/11 职场文书
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android