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生成随机验证码(中文验证码)示例
Apr 03 Python
举例讲解Python的Tornado框架实现数据可视化的教程
May 02 Python
独特的python循环语句
Nov 20 Python
Python 3.6 读取并操作文件内容的实例
Apr 23 Python
解决Python pandas df 写入excel 出现的问题
Jul 04 Python
解决pycharm安装后代码区不能编辑的问题
Oct 28 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
PyQt5 实现字体大小自适应分辨率的方法
Jun 18 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
Feb 25 Python
Python 爬虫性能相关总结
Aug 03 Python
Python高并发和多线程有什么关系
Nov 14 Python
python 中[0]*2与0*2的区别说明
May 10 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设置允许大文件上传示例代码
2014/03/10 PHP
两种php去除二维数组的重复项方法
2015/11/04 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
如何通过Apache在本地配置多个虚拟主机
2020/07/29 PHP
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
使用jquery+CSS实现控制打印样式
2014/12/31 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
Vue动态组件实例解析
2017/08/20 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
Vue中的vue-resource示例详解
2018/11/02 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
Python解析nginx日志文件
2015/05/11 Python
python 爬取微信文章
2016/01/30 Python
python3中bytes和string之间的互相转换
2017/02/09 Python
什么是Python中的顺序表
2020/06/02 Python
世界上最大的二手相机店:KEN
2017/05/17 全球购物
最畅销的视频游戏享受高达90%的折扣:CDKeys
2020/02/10 全球购物
急诊科护士自我鉴定
2013/10/14 职场文书
员工薪酬福利制度
2014/01/17 职场文书
高二物理教学反思
2014/02/08 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
会议主持词开场白
2015/05/28 职场文书
JavaScript ES6的函数拓展
2022/01/18 Javascript
基于Python实现射击小游戏的制作
2022/04/06 Python
详解Golang如何实现支持随机删除元素的堆
2022/09/23 Python