我想从django admin app照片上传到S3并将它们与我的模型相关联.我发现imagekit非常适合这个.如何配置imegekit将照片上传到S3服务器?
我有一个模型,其中缩略图宽度在父对象(ForeignKey)之间变化.我需要能够将此信息提供给imagekit处理器.这就是我所拥有的:
class Wall(models.Model):
#...
width = models.SmallIntegerField(null=True, blank=True)
#...
class Poster(models.Model):
wall = models.ForeignKey(Wall, related_name='posters')
#...
original_image = models.ImageField(upload_to=upload_image_to)
def __init__(self, *args, **kwargs):
self.thumbnail = ImageSpecField([
Adjust(contrast=1.2, sharpness=1.1),
SmartResize(height=163, width=self.wall.width)
],
image_field='original_image', format='PNG'
)
super(Poster, self).__init__(*args, **kwargs)
#...
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做,没有任何反应,甚至没有生成缩略图网址.
以下将导致此异常:
AttributeError:'ForeignKey'对象没有属性'width'
class Poster(models.Model):
wall = models.ForeignKey(Wall, related_name='posters')
#...
original_image = models.ImageField(upload_to=upload_image_to)
thumbnail = ImageSpecField([
Adjust(contrast=1.2, sharpness=1.1),
SmartResize(height=163, width=wall.width)
],
image_field='original_image', format='PNG'
)
#...
Run Code Online (Sandbox Code Playgroud) 在我的 django 项目中,我使用 ImageKit 来调整我的个人资料图像的大小。
我有一个包含这些字段的模型:
pasfoto = models.ImageField(upload_to='images/', blank=True)
pasfoto_thumbnail = ImageSpecField(source='pasfoto',
processors=[ResizeToFill(150, 200)],
format='JPEG',
options={'quality': 60})
Run Code Online (Sandbox Code Playgroud)
ImageSpecField 是从 Imagekit 导入的。
我通过 Django-storages 将图像保存在 amazon-S3 上
当我通过 UpdateView 呈现的模板(编辑表单)上传图像时,它会在成功后显示详细模板。此模板中使用了 pasfoto_thumbnail,它是通过 Django 中基于类的 DetailView 呈现的。
在这种情况下,我看到错误“对已关闭文件进行 I/O 操作”。但浏览器刷新后显示正确的图像。发生了什么事以及如何解决这个问题?
我在S3上使用带有NonValidatingImageCacheBackend后端的imagekit.我最近改变了我的一个规格的尺寸,并意识到imagekit没有重新生成新的规格,因为乐观的后端是盲目检索旧的缓存图像.
如何强制imagekit重新生成整个缓存?
我想像这样转换图像,为django中的图片添加效果,如此处所述.

我决定将它作为一个伟大的django -imagekit/photologue 的过程来实现
我对PIL的了解不是很好,所以我的问题是
如何通过PIL中的正弦偏移来打算像素列?
任何提示(代码,lins,一般想法)都受到欢迎
django photologue imagekit python-imaging-library django-imagekit
我想弄清楚在django上使用哪个图像管理库.photologue,image-kit和pil(python成像库)有什么区别?
django photologue imagekit python-imaging-library django-imagekit
我有以下问题:
我正在 django 中编写一个 AJAX 视图,该视图提供有关来自 django-imagekit 扩展的模型的图像列表的 JSON 数据ImageSpecField:
class Image(models.Model):
title = models.CharField(max_length=120)
img = models.ImageField(upload_to="images")
thumb = ImageSpecField(source="img",
id="core:image:image_thumbnail"
)
objects = models.Manager()
json_data = JSONConvertibleManager()
Run Code Online (Sandbox Code Playgroud)
JSONConvertibleManager该模型使用自定义管理器,使用内置 Django 序列化程序( 的实例)转换为 JSON ( ) django.core.serializers。
ImageSpecField我的问题是,除了完全被忽略的字段之外,所有字段都已正确序列化。序列化过程中是否可以返回instance.thumb.url值?
出于某种原因,一旦我尝试将ImageKit应用到模型上以创建ImageField的缩略图,我就会收到错误.我正在使用Django的ImageKit库,你可以在这里找到它
我的代码如下:
from django.db import models
from PIL import Image
import os
from django.contrib import admin
from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill
# Create your models here.
class ResidentialReference(models.Model):
image = models.ImageField(upload_to='images', blank="true",null="true")
thumbnail = ImageSpecField(source='image',
processors=[ResizeToFill(100,50)],
format='JPEG',
options={'quality':60})
title = models.CharField(max_length = 1000, default = 'Title here...' )
postcode = models.TextField(max_length = 1000, default='Postcode here...')
description = models.TextField(max_length = 12000, default = 'Technical Description here...')
equipment = models.TextField(max_length = 1000, default = 'Equipment here...')
output …Run Code Online (Sandbox Code Playgroud) django ×8
imagekit ×3
python ×3
photologue ×2
amazon-s3 ×1
boto ×1
django-admin ×1
io ×1
json ×1