Django:Sorl缩略图。图像仅适用于第一次

时间:2014-10-29 11:15:02

标签: python django image sorl-thumbnail

我在许多项目中一直使用 Sorl缩略图,从来没有像这样的问题。

  • 我已配置MEDIA_ROOTMEDIA_URL
  • 我第一次进入页面时,当缩略图首次生成图像时,效果很好
  • 第一次出现的图片网址如下:

    <img src="/media/cache/a2/ee/a2eefc9888cea70482961f4484e1d046.jpg">

    此图片网址完美无缺,图片按预期呈现

我的问题是当我再次加载页面时,我不知道为什么,但img url是:

<img src="/media/ccea/eaef98ca089148ed4.p%00%00/d/r/ciia-iiacnut--uet">

我不知道为什么第一次有效,然后当我重新加载页面时,它就像图像网址被解析一样

  • 我在我的settings.py:THUMBNAIL_DEBUG = DEBUG
  • 媒体/静态定义明确

模板中的Django代码:

{% if object.image %}
    {% thumbnail object.image "300" as im %}
        <img src="{{im.url}}">
    {% endthumbnail %}
{% endif %}

由于


EDIT1

我更改了代码中的某些部分,重新​​安装了sorl-thumbnail,停止了memchached进程,现在错误是:

JSONDecodeError at /my/url/

Exception Type: JSONDecodeError
Expecting value: line 1 column 1 (char 0)

错误出现在这3行的第一行:

{% thumbnail object.image "500" as im %}
    {{im.url }}
{% endthumbnail %}

我没有使用json,这个问题是内部的sorl-thumbnail

似乎问题来自:

/usr/lib/python2.6/site-packages/sorl/thumbnail/kvstores/base.py in _get

deserialize_image_file(value)  # Internal sorl-thumbnail call

变量值:
值: u'{"storage": "django.core.files.storage.FileSystemStorage", "name": "cache/5a/a0/5aa0be82eaf67259f4dee13128372d1e.jpg", "size": [499, 474]}'

您可以在调用deserialize-image-file

之前检查网址是否格式正确

事情已经尝试过了:

  • python manage.py thumbnail clear
  • python manage.py thumbnail cleanup
  • 空的sorl数据库表
  • 重新安装Sorl-thumbnail
  • 停止memcached进程并从settings.py
  • 中删除memcached配置

0 个答案:

没有答案