这是我的代码
{% thumbnail ham.thumbnail_url "50x20" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}
这就是img src输出的样子
cache/81/a8/81a884b2bce95dfe60e7397ea15d10f2.jpg
即使是来自docs
的示例 {% thumbnail "http://www.aino.se/media/i/logo.png" "40x40" crop="80% top" as im %}
<img src="{{ im.url }}">
{% endthumbnail %}
怎么了?
更新:
{% thumbnail ham.thumbnail_url "220x120" crop="center" as foo %}
<img src="{{MEDIA_ROOT}}{{ foo.url }}" width="{{ foo.width }}" height="{{ foo.height }}">
{% endthumbnail %}
现在我在'media'目录中有一个名为'cache'的目录,其中包含所有图像,生成的代码是
<img width="220" height="120" src="/media/cache/c6/5d/c65d3cd46c4ef6154c788526bfa3447f.jpg">
这是我的设置
MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')
MEDIA_URL = '/media/'
STATIC_URL = '/static/'
但我看不到屏幕上的图片==未能加载给定的网址(萤火虫)
使其工作的一种可能方法是在静态目录中自动生成缓存目录。如果我将缓存目录复制到静态目录并将设置更改为
,则对我有用MEDIA_URL = ''
<img src="{{STATIC_URL}}{{ foo.url }}" width="{{ foo.width }}" height="{{ foo.height }}">
答案 0 :(得分:1)
这是sorl-thumbnail命名文件的标准方法。通过调用缩略图标记的参数调整文件大小。结果是一个看起来像cache / 81 / a8 / 81a884b2bce95dfe60e7397ea15d10f2.jpg的网址。如果您没有看到任何内容,可能需要查看STATIC_URL设置。
许多网站都有静态网址,因此您的图片src将显示为
http://static.example.com/cache/81/a8/81a884b2bce95dfe60e7397ea15d10f2.jpg
或
http://example.com/media/cache/81/a8/81a884b2bce95dfe60e7397ea15d10f2.jpg
答案 1 :(得分:1)
更改媒体根目录:MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')
在LOCAL上这样的事情:
MEDIA_ROOT = /home/user/project/app/media/
MEDIA_URL = /site_media/
对于制作我做了类似的事情:
MEDIA_ROOT = '/home/user/webapps/media/'
MEDIA_URL = 'http://domain.com/site_media/'
当我切换到新的sorl时,我遇到了问题,但现在一切都适合我。希望这可以帮助。