Yax
Yax

Reputation: 2189

Django extends causes TemplateError

I am using sorl-thumbnail in my template and everything was working fine until I decided to break my templates into pieces to enable me reuse some part of it elsewhere.

My base.html looks this:

<!DOCTYPE html>
<html lang="en">
  <head>
    {% load staticfiles %}
    {% load thumbnail %}
    <link href="{% static 'mysite/css/style.css' %}" rel="stylesheet" type="text/css"  />
    <link href="{% static 'mysite/js/index.js' %}" rel="stylesheet" type="text/javascript"  />
</head>

<body>
    <div id = 'profile-photo'>
        {% thumbnail user.thumbnail.thumbnail "40x40" crop="center" as im %}
            <img class='pp' src=".{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
        {% empty %}
        <img class='in-use-pi' src='{{STATIC_URL}}images/ddd.jpg' width='40' height='40'/>
        {% endthumbnail %}
    </div>
    <div id = "position">
        <div class = "container">
            <div class ="row">
                <div class="col-md-4 hidden-xs hidden-sm">
                {% block user_profile %}
                    Default text 1
                {% endblock %}
                </div>
                <div class = "col-md-5">
                    {% block mainBody %}
                        Default text 2
                    {% endblock %}
                </div>
            </div>
        </div><!-- end of container div -->
    </div><!-- end of position div -->
</body>
</html>

If I extend this in my index.html, the thumbnail tag works fine but if I put the tag in index.html this way:

index.html:

{% extends "mysite/base.html" %}

{% block mainBody %}
    {% thumbnail user.thumbnail.thumbnail "50x50" crop="center" as im %}
        <img src=".{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
    {% empty %}
        <img src='{{STATIC_URL}}images/ddd.jpg' class='ppix follow_thumbnail' width='50' height='50'/>
    {% endthumbnail %}
{% endblock %}

Exception Value:
Invalid block tag: 'thumbnail', expected 'elif', 'else' or 'endif'

What am I doing wrong?

Upvotes: 0

Views: 37

Answers (1)

Daniel Roseman
Daniel Roseman

Reputation: 599490

You need to load the templatetag library in every template.

{% extends "mysite/base.html" %}
{% load thumbnail %}

Upvotes: 1

Related Questions