什么是kit_django reinhardt

什么是kit_django reinhardt#介绍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

 

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166068.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ORBSLAM2学习(一):ORB算法原理[通俗易懂]

    ORBSLAM2学习(一):ORB算法原理[通俗易懂]前言目前学习ORBSLAM2中,ORBSLAM2中使用ORB算子进行特征点的提取与描述,ORB算法原理主要来自于文章《ORBanefficientalternativetoSIFTorSURF》。这里先就该文章做自己的学习过程记录,之后结合文章内容分析ORBSLAM2中的代码实现(放到下一篇博客中)。本文把文章《ORBanefficientalternative……

    2022年10月25日
  • ubuntu16安装中文输入法_ubuntu输入法安装

    ubuntu16安装中文输入法_ubuntu输入法安装本文安装谷歌输入法。使用一段时间后发现,谷歌输入法用起来极舒服,比sougouforlinux好用多了。记得谷歌的中文输入法主要是北京分部在做,对googlecn的好感度飙升!!!安装fcitx-googlepinyin(Ctrl+Alt+T打开终端,输入)sudoapt-getinstallfcitx-googlepinyin输入密码开始安装(输入密码的时候光标是不会移动的,不会有对应密码的***这样的星号出来,只管输完密码按回车就行),命令行会停在[y/n]的确认行,输入y并

  • 不要再走弯路了,最全的黑客入门学习路线在这[通俗易懂]

    不要再走弯路了,最全的黑客入门学习路线在这[通俗易懂]在大多数的思维里总觉得学习网络安全得先收集资料、学习编程、学习计算机基础,这样不是不可以,但是这样学效率太低了!你要知道网络安全是一门技术,任何技术的学习一定是以实践为主的。也就是说很多的理论知识其实是可以在实践中去验证拓展的,这样学习比起你啃原理、啃书本要好理解很多。所以想要学习网络安全选对正确的学习方法很重要,这可以帮你少走很多弯路。因为如果你选择了一个低效的方法,也许别人都已经彻底学会了,你还停留在入门阶段。对于小白来说,有个人引导会比自学要高效的多,尤其是容易坚持不下去的小伙伴。学姐

  • 高级PHP开发:利用PHPEMS搭建在线考试平台

    高级PHP开发:利用PHPEMS搭建在线考试平台

    2021年10月16日
  • G1收集器图解

    G1收集器图解G1在堆上分配内存和其他的GC有点不一样。现在我们来一步一步看下G1系统。1、G1堆结构G1的堆结构就是把一整块内存区域切分成多个固定大小的块。在JVM在启动时来决定每个小块,也就是region的大小。JVM一般是把一整块堆切分成2000个小region。然后每个小region从1到32Mb不等。2、G1内存分配事实上,这些region最后又被…

  • mysql获取当前时间前一天_mysql删除数据表命令

    mysql获取当前时间前一天_mysql删除数据表命令1.current_timestamp2.current_time3.current_data4.now()5.curdate()6.curtime()将当前时间插入数据库insertintot_login(user_id,login_time)values(1,CURRENT_TIMESTAMP);…

    2022年10月19日

发表回复

您的电子邮箱地址不会被公开。

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