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黑魔法@property装饰器的使用技巧解析
Jun 16 Python
利用numpy+matplotlib绘图的基本操作教程
May 03 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
Jun 19 Python
Python实现语音识别和语音合成功能
Sep 20 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
基于Python获取城市近7天天气预报
Nov 26 Python
python encrypt 实现AES加密的实例详解
Feb 20 Python
python如何提取英语pdf内容并翻译
Mar 03 Python
使用python 计算百分位数实现数据分箱代码
Mar 03 Python
pandas to_excel 添加颜色操作
Jul 14 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 Python
利用Opencv实现图片的油画特效实例
Feb 28 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中的命名空间相关概念浅析
2015/01/22 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
php实现socket推送技术的示例
2017/12/20 PHP
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
JS字符串去除连续或全部重复字符的实例
2018/03/08 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
jquery插件实现轮播图效果
2020/10/19 jQuery
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
激光脱毛、蓝光和护肤:Tria Beauty
2019/03/28 全球购物
优秀员工年终发言演讲稿
2014/01/01 职场文书
预备党员思想汇报
2014/01/08 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
小学生期末评语
2014/04/21 职场文书
2014年纠风工作总结
2014/12/08 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP
java获取一个文本文件的编码(格式)信息
2022/09/23 Java/Android