4

我遇到了一些困难sorl-thumbnail

我的模板如下:

{% thumbnail project.image "75x75" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% empty %}
<p>:(</p>
{% endthumbnail %}

在我呈现的网页中,我得到以下缩略图路径:

<img src="/media/cache/ff/29/ff299c50543aa807b0fbd28faf271e63.jpg" width="75" height="75">

现在这一切都说得通了,因为 myMEDIA_URL被设置为/media/在我的 apache 中映射httpd.conf到我服务器上的本地文件夹。

问题是服务器上不存在此路径,因此图像显示为断开的链接。

值得注意的是,我使用的是自定义存储对象,尽管这不应该影响事情,因为它直接通过sorl.thumbnail ImageField. 另外我正在使用memcached在服务器上运行的缓存后端。

烦人的事情是,即使我有错误,我也没有得到任何错误THUMBNAIL_DEBUGDEBUG所以很难看出出了什么问题。我相当确定它无法将缩略图文件写入磁盘但返回成功,因为该{% empty %}语句没有被触发并且适当的缓存文件没有出现在服务器上。我不知道为什么,因为没有任何错误。

我有点卡在这一点上,所以任何帮助将不胜感激。

编辑:

我现在已经放弃了 sorl 并改用简单的缩略图,它工作正常。

4

2 回答 2

2

我和你有非常相似的问题,我不能使用easy-thumbnails,因为我需要从外部来源创建缩略图。我发现在暂存时使用与开发相同的数据库,所以在我渲染开发图像后,它将缓存的文件名存储到数据库中,当您尝试在暂存时渲染时,它会从相同的文件名数据库,但显然这些文件不在暂存中。

尝试运行

./manage thumbnail clear
于 2014-05-30T02:52:13.637 回答
0

Sorl did not create thumbnails for us because we used urls that were incorrectly encoded. They would contain '+' instead of ' ' or '%20' for spaces and sorl would re-encode them to '%2B' ('+' encoded). The resulting url error was suppressed and the thumbnail creation was ignored. Maybe it helps someone with this problem.

于 2014-11-13T14:07:55.890 回答