Using sorl thumbnail and easy thumbnails in the same template

2017 Update:

You can now use the libraries dictionary from the default template backend in your to re-label your template libraries and avoid naming conflicts:

        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(PYTHON_PATH, 'templates/'),
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
            'libraries': {
                'sorl_thumbnail': 'sorl.thumbnail.templatetags.thumbnail',
                'easy_thumbnails': 'easy_thumbnails.templatetags.thumbnail',

and within your template:

{% load sorl_thumbnail %}

Of course, this means you can’t use both libraries’ {% thumbnail %} in the same template, but you can load both template libraries successfully in the same project.

Older Post:

At times you need to use both sorl.thumbnail and easy_thumbnails in the same template. Both of these apps define a thumbnail template tag from a thumbnail template module meaning that you will be able to use one or the other but not both. To get around this, you can install a great app called django-smart-load-tag which augments the default {% load %} tag and allows for much more flexible importing of template tags.

After installing django-smart-load-tag:

pip install django-smart-load-tag

and adding it to your INSTALLED_APPS


open your template and do the following:

{% load smart_load %}
{% load thumbnail from sorl.thumbnail as sorl_thumbnail %}
{% load thumbnail from easy_thumbnails as easy_thumbnail %}


{% sorl_thumbnail image.image "100x100" as im %}
<img src='{{ im.url }}' />
{% endthumbnail %}


<img src='{% easy_thumbnail image.image "100x100" %}' />

You now have both options!