我正在使用sorl缩略图在视图中生成缩略图。我安装了
mysql-python
Django==1.6.1
Pillow==2.3
sorl-thumbnail==11.12.1b
我添加了
THUMBNAIL_DEBUG = DEBUG
和
在settings.py中将'sorl.thumbnail',
设置为INSTALLED_APPS。
跑
./manage.py syncdb
在我的“档案”数据库中创建了“thumbnail.kvstore”表,并在我的模型中有以下内容:
from sorl.thumbnail import ImageField
class relic(models.Model):
...
photo = ImageField(upload_to='photo', blank=True, null=True)
在我看来,我有
# all the relics for the given historical site (hsite_id)
def relicList(request, hsite_id):
print hsite_id
theSite = historical_site.objects.get(pk=hsite_id)
relicSet = theSite.relic_set.all()
return render_to_response('archives/relic_list.html', locals())
# end relicList
在我的模板中我有
{% extends "base.html" %}
{% load thumbnail %}
{% load staticfiles %}
{% for relic in relicSet %}
<!-- alternate colours with the classes defined in the style sheet -->
<tr class={% cycle "odd" "even" %}>
<td>{{ relic.name }}</td><td>{{ relic.description }}</td>
<td>
{% if relic.photo %}
<a href="{{ relic.photo.url }}">
{% thumbnail relic.photo "100x100" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}
</a>
{% endif %}
</td>
</tr>
{% endfor %}
加载模板给我
ProgrammingError: (1146, "Table 'archives.sessioncache' doesn't exist")
尝试其他一些我试过的事情
(archeologist)jason:>./manage.py shell
>>> from achives.models import *
>>> from sorl.thumbnail import get_thumbnail
>>> myRelics = relic.objects.all()
>>> for r in myRelics:
... print r.photo
etc
>>> print r.photo
photo/image_9.jpg
>>> im = get_thumbnail(r.photo, '100x100', crop='center')
我得到了同样的错误
ProgrammingError: (1146, "Table 'archives.sessioncache' doesn't exist")
我没有安装memcached,我已经在使用postgres的另一个项目中成功使用了缩略图。我不想使用memcached,因为这是一个小项目。我错过了什么?
答案 0 :(得分:0)
我在settings.py文件中发现了错误。我有这个设置,我不明白
CACHES = {
'default': {
'BACKEND' : 'django.core.cache.backends.db.DatabaseCache',
'LOCATION' : 'sessioncache',
}
}
一旦我评论出来,缩略图就可以了。