这是代码:
from django.db import modelsfrom django.forms import CheckBoxSelectMultipleimport tempfilefrom django.conf import settingsfrom django.core.files.base import Contentfilefrom django.core.files.storage import default_storage as s3_storagefrom django.core.cache import cachefrom datetime import datetimeimport Image,osimport PIL.Image as PILimport re,os,sys,urlparseclass screenshot(models.Model): Title = models.CharFIEld(max_length=200) slug = models.SlugFIEld(max_length=200) image = models.ImageFIEld(upload_to='screenshots') thumbnail = models.ImageFIEld(upload_to='screenshots-thumbs',blank=True,null=True,editable=False) def save(self): super(screenshot,self).save() # Call the "real" save() method if self.image: thumb = Image.open(self.image.path) thumb.thumbnail(100,100) filename = str(self.slug) temp_image = open(os.path.join('tmp',filename),'w') thumb.save(temp_image,'JPEG') from django.core.files import file thumb_data = open(os.path.join('/tmp','r') thumb_file = file(thumb_data) new_file.thumb.save(str(self.slug) + '.jpg',thumb_file) def __str__(self): return self.Title
这只是我试图让它工作的众多方法之一,我得到(2,’没有这样的文件或目录’)或其他一些错误.
请有人帮助我让它工作.我希望它使用django后端来上传的图像被调整大小并保存为缩略图然后保存.如果您需要了解任何信息,请与我们联系.我很乐意使用django片段 – http://djangosnippets.org/snippets/224/,但我不知道要提供什么数据.我得到相同的IOErrors和’没有这样的路径/文件名’,即使主图像上传到s3罚款.我也尝试过这样的事情:
myimage = open(settings.MEDIA_URL + str(self.image)) myimage_io = StringIO.StringIO()imageresize = myimage.resize((100,100),Image.ANTIAliAS)imageresize.save('resize_100_100_aa.jpg','JPEG',quality=75)
现在已经有3天了,所以我开始有空了!谢谢
解决方法 为什么不尝试 sorl-thumbnail.它具有与默认的ImageFIEld django提供的完全相同的界面,看起来它比使用自己的支持更好.>存储支持>可插拔引擎支持(PIL,pgmagick)>可插入密钥值存储支持(redis,缓存db)>可插拔后端支持>管理员集成,可以删除>假一代>灵活,简单的语法,不生成HTML>用于删除缩略图的模型的ImageFIEld> CSS样式裁剪选项>垂直定位的保证金计算
总结以上是内存溢出为你收集整理的Django管理员上传和图像到s3然后调整图像大小并保存拇指问题全部内容,希望文章能够帮你解决Django管理员上传和图像到s3然后调整图像大小并保存拇指问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)