【发布时间】:2015-06-14 12:48:30
【问题描述】:
我无法显示由 Sorl-thumbnail 生成的缩略图。这是我的view.py:
def index(request):
if request.method == 'GET':
im = get_thumbnail('/Users/cheng/Dev/notes_proj/images/2015/4/8/c0eb6152bcb74c31c6eff3562513ee6507f8657d.png', '100x100')
context = {'im': im}
return render(request, 'index.html', context)
这是我的模板:
{% load thumbnail %}
{% thumbnail im as img %}
<img src="{{ img.url }}">
{% endthumbnail %}
这是错误信息:
[09/Apr/2015 16:27:35] "GET /cache/51/03/5103e40af16185770a5928d7f5a5b31a.jpg HTTP/1.1" 404 13744
THUMBNAIL_DEBUG = True 已打开,Sorl 没有错误消息。
我正在使用默认的数据库缓存方法(这意味着除了将 sorl 添加到 INSTALLED_APP 并运行“python manage.py migrate”之外不需要额外的设置)
我搜索了我的硬盘,没有“/cache/51/03/5103e40af16185770a5928d7f5a5b31a.jpg”
我当前的设置不允许我在模型中使用“ImageField”。所以我只是简单地存储了图像文件的绝对路径,并使用了 sorl 的低级 API 来生成缩略图,如上所示。
我看到了这个帖子:Sorl-thumbnail bad url's
我将 MEDIA_URL 和 MEDIA_ROOT 添加到我的 settings.py 中:
MEDIA_URL = 'images/'
MEDIA_ROOT = os.path.join(BASE_DIR, '../images')
仍然收到 404 错误:
09/Apr/2015 16:45:43] "GET /images/cache/51/03/5103e40af16185770a5928d7f5a5b31a.jpg HTTP/1.1" 404 13767
我检查了数据库表“thumbnail_kvstore”。它总是空的。
我正在使用:
sorl 缩略图 (12.2) Django (1.7.7)
那么我做错了哪一部分?
非常感谢!
【问题讨论】:
-
尝试清除和清理...
-
@RajaSimon 感谢您的建议,我这样做了,但仍然无法正常工作。在我看来,Sorl 出于某种原因根本没有生成缩略图。数据库缓存不应该是空的吧?
-
@RajaSimon 我进入文件夹,发现我引用的图像文件由于某种原因是 0 字节。在我恢复图像后,我可以看到正在数据库中创建缓存,我找到了媒体根目录中的缓存文件夹我也可以看到缩略图。但是,当我将它加载到我的模板中时,即使缩略图文件在那里,它仍然给我一个 404 ......我会继续挖掘
-
继续前进,你会得到它..
标签: python django sorl-thumbnail