Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sorl-thumbnail generates black square instead of image

I'm developing my project inside a Vagrant VM, the software version I'm using is:

  • Ubuntu 12.04
  • Django 1.6
  • Sorl Thumbnail 11.12
  • Pillow 2.5.3

I have some pictures in the path /var/www/django/my_project/media/icons and I have a model with an ImageField pointing to that path.

I have also THUMBNAIL_DEBUG = True in my settings.py

In my template I use thumbnail like:

{% thumbnail category.image "20" as im %}
    <img src="{{ im.url }}"></img>
{% empty %}
    {% thumbnail "png/no_image.png" "20" as im %}  # Thumbnail add the rest of the path to media
        <img id="no_image" alt="" src="{{ im.url }}" />
    {% endthumbnail%}
{% endthumbnail %}

There are some objects with image and some others without it and both shows just a black square instead of the image.

  • Does anyone knows why is this happening ? I use Sorl-Thumbnail in many projects and never had this issue

I've tried to reset the full database, I used python manage.py thumbnail clear and python manage.py thumbnail cleanup

I've installed: libjpeg62 libjpeg62-dev zlib1g-dev

no_image.png is an image (red cross) not an empty image

  • Am I missing any library or dependency ?

I'm lost because as I said I've worked with Sorl-thumbnail in other projects, and never saw anything like this.

Any help would be much appreciated


Edit

Here are some images I'm trying to display:

enter image description hereenter image description here

( I have png and jpg libraries working on Pillow )

And this is what I see in all cases:

enter image description here

Edit2

The problem is with the background. When I upload a png image with transparent background sorl converts the image to jpg and set the background to black...

  • Is there any way to keep the transparent background or avoid conversion ?
  • Is possible to set the background to white ?

I tried with:

THUMBNAIL_COLORSPACE = None
THUMBNAIL_PRESERVE_FORMAT = True

but didn't work

like image 330
AlvaroAV Avatar asked Nov 05 '14 16:11

AlvaroAV


1 Answers

Finally solved !

To solve the issue with the black background:

  • I updated sorl-thumbnail to 12.2
  • Added this 2 lines to settings.py:
    • THUMBNAIL_COLORSPACE = None
    • THUMBNAIL_PRESERVE_FORMAT = True

  • Restart thumbnail database with python manage.py thumbnail clear_delete_all
like image 189
AlvaroAV Avatar answered Nov 14 '22 18:11

AlvaroAV