首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django缓存-显示从缓存中检索的图像的问题

Django缓存-显示从缓存中检索的图像的问题
EN

Stack Overflow用户
提问于 2012-11-29 09:53:53
回答 1查看 1.2K关注 0票数 0

我使用的是django 1.4、python 2.7、Memcache、python-memcached和easy-thumbnails。

当我试图使用缓存数据访问一个项目页面时,我得到了以下模板错误:

代码语言:javascript
复制
Couldn't get the thumbnail uploads/items/item_images/logo.jpeg: 'ImageFieldFile' object has no attribute 'instance'

当我从shell中的数据库访问有问题的数据时,我会得到:

代码语言:javascript
复制
>>> log = item.get_logo()
>>> logo
<ImageFieldFile: uploads/items/item_images/logo.png>
>>> logo.instance
<Media: uploads/items/item_images/logo.png>

当我试图从缓存中访问相同的数据时,我得到了:

代码语言:javascript
复制
>>> cache.set('logo',item.get_logo())
>>> logo = cache.get('logo')
>>> logo
<ImageFieldFile: uploads/items/item_images/logo.png>
>>> logo.instance
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'ImageFieldFile' object has no attribute 'instance'

我的问题是,如何缓存ImageFieldFile,使其在原始状态下可检索?我需要将该对象传递给我的模板,以便与简单的缩略图一起使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-30 06:36:26

因此,我没有尝试缓存ImageFieldFile,而是缓存了ImageFieldFile所在的对象(Media),现在一切都正常了。

数据库:

代码语言:javascript
复制
>>> logo = item.get_logo()
>>> logo
<Media: uploads/items/item_images/logo.png>
>>> logo.image #this is what I was trying to cache before
<ImageFieldFile: uploads/items/item_images/logo.png>
>>> logo.image.instance
<Media: uploads/items/item_images/logo.png>

缓存:

代码语言:javascript
复制
>>> cache.set('logo',logo)
>>> cachedLogo = cache.get('logo')
>>> logo
<Media: uploads/items/item_images/logo.png>
>>> logo.image
<ImageFieldFile: uploads/items/item_images/logo.png>
>>> logo.image.instance
<Media: uploads/items/item_images/logo.png>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13617600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档