sorl-thumbnail在django中不起作用

时间:2012-09-12 14:24:03

标签: python django django-templates thumbnails sorl-thumbnail

我正在使用sorl-thumbnail在我的django项目中动态创建缩略图。

这是我的HTML代码:

<html>
<head><title>mypage</title>
<% load thumbnail %}
<div class="logo">
       <a href="">
    {% thumbnail "http://www.aino.se/media/i/logo.png" "40x40" as im %}
        <img src="{{ im.url }}">
        {% endthumbnail %}
       </a>
</div>
</html>

这是我的settings.py

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    ..... 

    'django.middleware.cache.UpdateCacheMiddleware',
    "django.middleware.cache.FetchFromCacheMiddleware",

    # Uncomment the next line for simple clickjacking protection:
    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)


INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
     .......
    "sorl.thumbnail",
)

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': 'd:/code/,
    }
}

我没有收到任何错误,也没有缩略图!

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。经过一番调查后,我发现我的网络服务器(在我的情况下是nginx)没有MEDIA_ROOT的写入权限。

不知何故,在这种情况下,sorl-thumbnail会无声地失败。访问nginx用户解决了我的问题。

答案 1 :(得分:0)

您确定图片链接有效吗?尝试通过{% empty %}功能抓住此问题:

{% thumbnail "http://www.aino.se/media/i/logo.png" "40x40" as im %}
    <img src="{{ im.url }}">
{% empty %}
    <p>No image</p>
{% endthumbnail %}

正如文件所说:

  

使用空特征,在源时渲染空白部分   被解析为空值或无效的图像源...: