什么是kit_django4.0

什么是kit_django4.0#介绍ImageKit是用于处理图像的Django应用程序。如果需要从原图上生成一个长宽为50×50的图像,则需要ImageKit。ImageKit附带了一系列图像处理器,用于调整大小和裁剪等常见

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

介绍

ImageKit是用于处理图像的Django应用程序。如果需要从原图上生成一个长宽为50×50的图像,则需要ImageKit

ImageKit附带了一系列图像处理器,用于调整大小和裁剪等常见任务。
 

安装

在安装ImageKit之前,我们需要先安装Pillow,因为ImageKit是基于PillowDjango做的封装的第三方库

pip install pillow

然后安装django-imagekit

pip install django-imagekit

完成上述步骤后,在 Django 项目的 settings.py 文件中的 INSTALLED_APPS 添加上: 'imagekit'
 

使用方法

 

ImageSpecField

使用定义图像规范的最简单方法是在模型类上使用 ImageSpecField

from django.db import models
from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill

# 用来保存上传图片相关信息的模型
class (models.Model):
    name = models.CharField(max_length = 50)

    # 原图
    avatar = models.ImageField(upload_to = 'test_pictures') 

    # 注意:ImageSpecField不会生成数据库中的表
    # 处理后的图片
    avatar_thumbnail = ImageSpecField(
        source="avatar", 
        processors=[ResizeToFill(100, 50)], # 处理后的图像大小, 宽×高=100×50 
        format='JPEG',  # 处理后的图片格式
        options={'quality': 100} # 处理后的图片质量
        )
    profile = Profile.objects.all()[0]
    print profile.avatar_thumbnail.url    # > /media/CACHE/images/982d5af84cddddfd0fbf70892b4431e4.jpg
    print profile.avatar_thumbnail.width  # > 100

ImageSpecFields的工作方式与DjangoImageFields非常相似。区别在于,它们是由ImageKit根据您给出的说明自动生成的。在上面的示例中,avatar_thumbnailavatar 的大小调整版本,保存为质量为100的JPEG格式。
 

ProcessedImageField

如果您不需要保留原始图像(上例中的image);当用户上传图像时,您只需要对其进行处理并保存结果。在这些情况下,您可以使用ProcessedImageField类:

from django.db import models
from imagekit.processors import ResizeToFill
from imagekit.models import ProcessedImageField

class (models.Model):
    avatar_thumbnail = ImageSpecField(
        source="avatar", 
        processors=[ResizeToFill(100, 50)],
        format='JPEG',
        options={'quality': 100}
        )
    profile = Profile.objects.all()[0]
    print profile.avatar_thumbnail.url    # > /media/avatars/MY-avatar.jpg
    print profile.avatar_thumbnail.width  # > 100

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165708.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月31日 下午5:46
下一篇 2022年7月31日 下午5:46


相关推荐

  • 启动马达接线实物图_电动机星三角换接起动原理图解

    启动马达接线实物图_电动机星三角换接起动原理图解采用星三角换接起动,此方式起动为降压起动方式的一种。三角形起动即电动机正常工作时定子接成三角形,起动时接成星形,起动完毕后转速接近额定值时再换成三角形。这样做起动时就把定子每相绕组上的电压降到额定电压的1/√3起动电流降低到1/3额定电流,起动转矩也降低到1/3额定转矩。1、控制电路设计图星三角降压起动2、的讲解:(1)本设计采用220v控制380v电动机工作,电动机定子绕组起动时为星形,在…

    2022年6月6日
    73
  • python hashlib_python加密之hashlib[通俗易懂]

    python hashlib_python加密之hashlib[通俗易懂]1、强大的hashlib,提供了用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法2、hmac模块实现了hmac算法,需要一个key来进行加密,提供更为强大的加密,不过需要提供key,也就是通常说的盐3、使用hashlib.algorithms_available,可以查看hashlib提供的加密算法…

    2022年4月29日
    46
  • MMC卡和SD卡的区别「建议收藏」

    MMC卡和SD卡的区别「建议收藏」目前诸如MMC卡和SD卡等固态内存卡的快速发展,也引起了很多有时是误解的猜想。下面逐个解释一些问题,将会帮助您区分MMC卡和SD卡的关键特征和优点,协助您决定哪一个解决方案对您而言是最好的。 外形尺寸:从两种卡的正面看过去,除了SD卡侧面的的写保护开关,两者的外观是一样的(都是24mmx32mm)。因为这个原因,这两种闪存卡标准常常被混淆。首先,两者的厚度是不同的,…

    2022年6月11日
    45
  • Manus執行任務能力有多強?和DeepSeek有何區別?

    Manus執行任務能力有多強?和DeepSeek有何區別?

    2026年3月15日
    1
  • Python 爬虫实例(10)—— 四行代码实现刷 博客园 阅读数量

    Python 爬虫实例(10)—— 四行代码实现刷 博客园 阅读数量代码很少 自己去体会 fromselenium webdrever Chrome url http www cnblogs com xuchunlin p 5448655 html driver get url nbsp 代码不能运行 仅供参考 nbsp

    2026年3月26日
    2
  • 迭代法塔的问题,如果中国

    迭代法塔的问题,如果中国

    2022年1月2日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号