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 相关文章推荐
django进阶之cookie和session的使用示例
Aug 17 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 Python
python opencv minAreaRect 生成最小外接矩形的方法
Jul 01 Python
Pytorch 实现冻结指定卷积层的参数
Jan 06 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
Mar 08 Python
Python进程的通信Queue、Pipe实例分析
Mar 30 Python
Python爬虫HTPP请求方法有哪些
Jun 03 Python
python3读取autocad图形文件.py实例
Jun 05 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
Sep 14 Python
记一次Django响应超慢的解决过程
Sep 17 Python
python 统计代码耗时的几种方法分享
Apr 02 Python
python使用openpyxl库读写Excel表格的方法(增删改查操作)
May 02 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
PHP4与PHP5的时间格式问题
2008/02/17 PHP
php 搜索框提示(自动完成)实例代码
2012/02/05 PHP
PHP判断图片格式的七种方法小结
2013/06/03 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
基于jquery的拖动布局插件
2011/11/25 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
javascript使用call调用微信API
2014/12/15 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
分析Python读取文件时的路径问题
2018/02/11 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
Python代码注释规范代码实例解析
2020/08/14 Python
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
Jacques Lemans德国:奥地利钟表品牌
2019/12/26 全球购物
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
SQL面试题
2013/12/09 面试题
农民工预备党员思想汇报
2014/09/14 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
神州牡丹园的导游词
2019/11/20 职场文书