我想调整与SORL缩略图我的静态文件,但它不工作
这里是我的代码
{% if not new.photo %}
{% with path="{{STATIC_URL}}/images/empty-news.jpg" %}
{% thumbnail path "80x80" crop="center" as im %}
<a href="#" class="image"><img alt="" src="{{im.url}}" class="frame2"></a>
{% endthumbnail %}
{% endwith %}
{% else %}
{% thumbnail new.photo "80x80" crop="center" as im %}
<a href="{% url news_detail new.slug %}" class="image">
<img alt="" src="{{im.url}}" class="frame2"></a>
{% endthumbnail %}
{% endif %}
如果我有像它显示的图像,但是当我没有像我不能使用默认的图片,因为缩略图不起作用
为我工作,你通常会传递给丑陋的选项,传递路径static
模板标签(请注意,它假定HTTP协议,因此它可以改进):
{% with 'http://'|add:request.get_host|add:STATIC_URL|add:image_path as path %}
{% thumbnail path "720x306" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}
{% endwith %}
这是通过建立绝对路径的静态图像。
老实说...这看起来罚款; 这意味着有可能是一些简单的错误在您的设置。
可能出现的坏设置:你如何定义你的设置STATIC_URL? 此外,什么是DEBUG的值(确保此项设置为True
,如果你在本地开发)? 作为@goliney指出,您的路径可能会混乱。 尝试拉出缩略图块出来,并设置你的形象到src {{ STATIC_URL }}/images/empty-news.jpg
和验证尝试做缩略图之前的作品。
忘了装载缩略图:确保把{% load thumbnail %}
在模板中的任何引用之前{% thumbnail %}
块。
下面的工作
{% with STATIC_URL|add:"/images/empty-news.jpg" as path %}
{% thumbnail path "80x80" crop="center" as im %}
<a href="#" class="image">
<img alt="" src="{{im.url}}" class="frame2"></a>
{% endthumbnail %}
{% endwith %}
我经过了同样的问题我自己的工作。 看来,如果你想在你的模板使用STATIC_URL你需要确保你通过缩略图标签是绝对的这条道路(就好像它是外部治疗的路径。)
显然,相对路径只为MEDIA_ROOT内的图像,似乎专为从模型的图像来工作。
作为测试,尝试在完整的HTTP输入路径。
请参阅: http://sorl-thumbnail.readthedocs.org/en/latest/examples.html
为了弥补我犯了一个自定义过滤器多一点uglyness,settings.py中采用恒定SITE_URL
:
settings.py
[...]
SITE_URL = "google.it"
[...]
templatetags/staticthumb.py
from django.conf import settings
from django import template
register = template.Library()
@register.filter()
def static_url(value):
return ''.join(["http://", settings.SITE_URL, settings.STATIC_URL, value])
然后使用它的模板:
{% load thumbnail staticthumb %}
{% with image_path|static_url as path %}
{% thumbnail path "720x306" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}
{% endwith %}