什么是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

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 万文多图之搜索引擎使用教程[通俗易懂]

    万文多图之搜索引擎使用教程[通俗易懂]大家好,我是herosunly,985院校硕士毕业,现担任算法研究员一职。CSDN博客专家,2020年博客之星TOP。曾获得阿里云天池比赛第一名、科大讯飞比赛第一名、CCF比赛第一名等Top名次,拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。其中经常被同学和同事夸赞的一项能力就是`搜索`,所以今天特意给大家分享搜索引擎使用方法,希望能对大家有所帮助。如果大家觉得有用,请帮忙点赞评论收藏(一键三连),谢谢大家的支持~

    2022年5月20日
    51
  • idea查看自己的激活码(JetBrains全家桶)

    (idea查看自己的激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlAFH5K5BM31-eyJsa…

    2022年3月30日
    396
  • linux创建文件命令vim_vim文件

    linux创建文件命令vim_vim文件创建文件【vi】一、进入vi的命令vifilename:打开或新建文件,并将光标置于第一行首vi+nfilename:打开文件,并将光标置于第n行首vi+filename:打开文件,并将光标置于最后一行首vi+/patternfilename:打开文件,并将光标置于第一个与pattern匹配的串处vi-rfilename:在上次正用vi编辑时发生系统崩溃,恢复filena…

    2022年9月16日
    2
  • forkjoin并发分页查数据_java fork join

    forkjoin并发分页查数据_java fork join分治,顾名思义,即分而治之,是一种解决复杂问题的思维方法和模式;具体来讲,指的是把一个复杂的问题分解成多个相似的子问题,然后再把子问题分解成更小的子问题,直到子问题简单到可以直接求解。Java并发包里提供了一种叫做Fork/Join的并行计算框架,就是用来支持分治这种任务模型的。如何用Fork/Join并行计算框架计算斐波那契数列f(n)=f(n-1)+f(n-…

    2022年9月16日
    4
  • idea激活码永久2021【2021.8最新】

    (idea激活码永久2021)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
    56
  • 辞旧迎新展望2015

    辞旧迎新展望2015

    2021年9月4日
    48

发表回复

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

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