使用Sorl-thumbnail的Django TemplateSyntax错误

时间:2011-04-21 06:28:16

标签: django django-templates sorl-thumbnail

我正试图在我的登台服务器上运行Sorl-thumbnail,但是我遇到了一个TemplateSyntaxError,因为该应用程序在localhost上工作正常,所以它会抛弃我。

错误发生在{%endthumbnail%}

TemplateSyntaxError at /home/
Invalid block tag: 'endthumbnail', expected 'endif'

非常感谢任何帮助。谢谢!

{% load thumbnail %}

{% if picture.photo_medium %}
    <img src="{{AWS_URL}}{{picture.photo_medium}}" class="imagepage" width="400" height="300">
{% else %}
    {% if picture.photo_large|is_portrait %}
       <div class="portrait">
          {% thumbnail picture.photo_large "400" crop="center" as im %}
          <img src="{{AWS_URL}}{{ im }}">
       </div>
    {% else %}
       <div class="landscape">
          {% thumbnail picture.photo_large "400" crop="center" as im %}
          <img src="{{AWS_URL}}{{ im }}">
       </div>
    {% endif %}
{% endif %}

4 个答案:

答案 0 :(得分:4)

您的本地主机上安装的旧版本的sorl-thumbnail可能比安装在您的登台服务器上的版本要好。最近添加了endthumbnail标签作为重大改写的一部分。

如果您发现需要升级,可能会发现设置THUMBNAIL-DEBUG有助于追踪其他问题。

答案 1 :(得分:2)

我可能错了,但我认为你不需要{% endthumbnail %}标签。

答案 2 :(得分:0)

问题也可能出在加载模板标签上。

我在基础HTML中做{% load thumbnail %}。 当我在继承的html中调用下面的代码时,得到了相同的错误。

{% thumbnail service_type.pic.image "100x100" crop="center" as im %}
   <img .....>
{% endthumbnail %} 

请参阅此讨论about loading template tags in base.html

答案 3 :(得分:0)

我在Mezzanine中使用SORL Thumbnail遇到了这个问题。显然Mezzanine会加载它自己的缩略图,所以如果你{% load thumbnail mezzanine_tags %},夹层thumbnail接管了SORL的Thumbnail标签。但是,如果你反转它{% load mezzanine_tags thumbnail %},它可以正常工作。

经验教训:确保您使用的其他图书馆不会无意中接管,为了安全起见,可能最后加载缩略图。