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 相关文章推荐
浅析AST抽象语法树及Python代码实现
Jun 06 Python
Python实现聊天机器人的示例代码
Jul 09 Python
python requests 库请求带有文件参数的接口实例
Jan 03 Python
pycharm远程开发项目的实现步骤
Jan 20 Python
如何通过Python实现标签云算法
Jul 02 Python
Python实现最常见加密方式详解
Jul 13 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
Python获取时间戳代码实例
Sep 24 Python
使用python绘制温度变化雷达图
Oct 18 Python
python实现飞行棋游戏
Feb 05 Python
Python分析最近大火的网剧《隐秘的角落》
Jul 02 Python
如何通过命令行进入python
Jul 06 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
网站当前的在线人数
2006/10/09 PHP
PHP Session变量不能传送到下一页的解决方法
2009/11/27 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
jquery异步循环获取功能实现代码
2010/09/19 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
2017/08/22 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
netbeans7安装python插件的方法图解
2013/12/24 Python
Python中的filter()函数的用法
2015/04/27 Python
Python基础语法(Python基础知识点)
2016/02/28 Python
python+matplotlib演示电偶极子实例代码
2018/01/12 Python
Python 绘图库 Matplotlib 入门教程
2018/04/19 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
python scipy卷积运算的实现方法
2019/09/16 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
html5 div布局与table布局详解
2016/11/16 HTML / CSS
canvas实现滑动验证的实现示例
2020/08/11 HTML / CSS
施华洛世奇德国官网:SWAROVSKI德国
2017/02/01 全球购物
自荐信格式写作方法有哪些呢
2013/11/20 职场文书
就业自荐信
2013/12/04 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
Python学习之迭代器详解
2022/04/01 Python