Django Sorl缩略图错误url';s

Django Sorl缩略图错误url';s,django,sorl-thumbnail,Django,Sorl Thumbnail,我按照说明设置了sorl缩略图,但是当我尝试在我的应用程序中使用templatetags时,没有图像出现 该url似乎无效,但尚不清楚需要哪些额外配置 生成如下图像: <img src="cache/e5/25/e5253a328b9130ecd7d820893f44b0e6.jpg" width="100" height="100"> 下面是settings.py中的相关行: INSTALLED_APPS = ( 'django.contrib.auth', 'd

我按照说明设置了sorl缩略图,但是当我尝试在我的应用程序中使用templatetags时,没有图像出现

该url似乎无效,但尚不清楚需要哪些额外配置

生成如下图像:

<img src="cache/e5/25/e5253a328b9130ecd7d820893f44b0e6.jpg" width="100" height="100">
下面是settings.py中的相关行:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    # Uncomment the next line to enable the  admin:                                          
    'django.contrib.admin',
    'mysite.myapp',
    'sorl.thumbnail',
)

CACHES = {
#    'default': {                                                                           
#        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',                          
#        'LOCATION': 'cache',                                                               
#    }                                                                                    
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

# URL that handles the media served from MEDIA_ROOT. Make sure to use a                     
# trailing slash if there is a path component (optional in other cases).                    
# Examples: "http://media.lawrence.com", "http://example.com/media/"                        
MEDIA_URL = ''

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use   a              
# trailing slash.                                                                           
# Examples: "http://foo.com/media/", "/media/".                                             
ADMIN_MEDIA_PREFIX = '/media/'
这是我的模板中的代码:

{% thumbnail auction.item.image "100x100" crop="center" as im %}
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}
{%thumbnail auction.item.image“100x100”crop=“center”as im%}
{%endthumbnail%}

图像肯定是被上传的(我检查了upload_to中指定的目录),当我使用文件系统缓存时,它们被存储在相对于我的应用程序的目录缓存中。我将其更改为使用memcache,以查看是否有帮助。

您需要正确配置媒体URL。ImageFile的备份基本上只是来自底层存储后端的传递。对于开箱即用的Django,需要为文件字段生成URL

您拥有的:“+”缓存/e5/25/e5253a328b9130ecd7d820893f44b0e6.jpg'
所需内容:'/media/'+'cache/e5/25/e5253a328b9130ecd7d820893f44b0e6.jpg'

注意:您需要确保MEDIA_URL被别名/映射到Django将文件上载到的任何目录(MEDIA_ROOT)

-----编辑--
请参阅以下指向默认Django存储后端源的链接。

您的媒体URL和媒体根目录设置是否正确?您是否可以查看正常图像(即非缩略图)?尚未设置媒体根目录和媒体URL。我没有任何静态图像。sorl缩略图不从缓存访问图像吗?我目前已将其配置为使用memcache。如果我将媒体URL配置为仅从媒体URL/缓存直接提供文件。。。根据我上面链接的sorl缩略图文档,ImageFile.url属性是使用存储后端计算的。Django默认存储后端使用媒体URL。因此,如果您正在使用该后端,则需要设置媒体URL。谢谢,这就是问题所在。我也在我的url中添加了“media/”。您可能应该使用“django.core.context_processors.media”模板上下文处理器,并在模板中使用{media_url}}而不是硬编码。他没有硬编码任何内容,带有缓存url的img标记是由Sorl缩略图基于。。。是的,媒体网址
{% thumbnail auction.item.image "100x100" crop="center" as im %}
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}