我在许多项目中一直使用 Sorl缩略图,从来没有像这样的问题。
MEDIA_ROOT
和MEDIA_URL
第一次出现的图片网址如下:
<img src="/media/cache/a2/ee/a2eefc9888cea70482961f4484e1d046.jpg">
此图片网址完美无缺,图片按预期呈现
我的问题是当我再次加载页面时,我不知道为什么,但img url是:
<img src="/media/ccea/eaef98ca089148ed4.p%00%00/d/r/ciia-iiacnut--uet">
我不知道为什么第一次有效,然后当我重新加载页面时,它就像图像网址被解析一样
THUMBNAIL_DEBUG = DEBUG
模板中的Django代码:
{% if object.image %}
{% thumbnail object.image "300" as im %}
<img src="{{im.url}}">
{% endthumbnail %}
{% endif %}
由于
我更改了代码中的某些部分,重新安装了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-thumbnail
memcached
进程并从settings.py memcached
配置