sorl-thumbnail not working
Asked Answered
D

4

9

I have been trying for several hours now to get sorl-thumbnail working, but it just won't work.

The hard part is that it's not showing errors so I have no idea whats wrong. I followed the instructions to install it.

My full code can be found here: https://github.com/samos123/Samos-IT/tree/master/samosit

template: https://github.com/samos123/Samos-IT/blob/master/samosit/templates/projects/project_detail.html

{% load thumbnail %}
{% thumbnail object.image "100x100" crop="center" as im %}
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}

view: https://github.com/samos123/Samos-IT/blob/master/samosit/projects/views.py

def detail(request, project_id, slug):
project = get_object_or_404(Project, pk=project_id)
imageurl = "/media/"+project.image.url
return render_to_response('projects/project_detail.html', {'object' : project, 'imageurl' : imageurl}, context_instance=RequestContext(request))

Thanks to sorl I can now finally see what the problem is. This seems to be the error: See the full error here: http://pastebin.com/0Yddt10N

TemplateSyntaxError at /projects/2/test

Caught ValueError while rendering: timestamp out of range for platform time_t

Request Method:     GET
Request URL:    http://localhost:8000/projects/2/test
Django Version:     1.2.3
Exception Type:     TemplateSyntaxError
Exception Value:    

Caught ValueError while rendering: timestamp out of range for platform time_t

Exception Location:     /usr/local/lib/python2.6/dist-packages/django/core/cache/backends/db.py in _base_set, line 83
Python Executable:  /usr/bin/python2.6
Python Version:     2.6.6
Python Path:    ['/home/samos/workspace/Samos-IT/samosit', '/home/samos/.eclipse/org.eclipse.platform_3.5.0_155965261/plugins/org.python.pydev.debug_1.6.3.2010100422/pysrc', '/usr/local/lib/python2.6/dist-packages/psycopg2-2.3.1-py2.6-linux-i686.egg', '/usr/lib/pymodules/python2.6', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/lib/python2.6', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/plat-linux2', '/usr/local/lib/python2.6/dist-packages', '/usr/local/lib/python2.6/dist-packages/virtualenv-1.5.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/yolk-0.4.1-py2.6.egg', '/usr/lib/panda3d', '/usr/share/panda3d']
Server time:    Tue, 7 Dec 2010 11:28:56 -0600
Devine answered 5/12, 2010 at 2:11 Comment(0)
E
30

I don't know about your view code but the first template code looks correct. Try setting THUMBNAIL_DEBUG = True and DEBUG = True in your settings for normal traceback.

Ekaterina answered 6/12, 2010 at 20:54 Comment(6)
Ah now I'm getting the error. I will update my main post. Before I couldn't see the error.Devine
I have never seen this before but it looks like a database error, make sure the datetime/date fields are correct. Flush/Drop database if you have to.Ekaterina
I saw this in your settings: CACHE_BACKEND = 'db://cachetable'. I don't know who told you its a good idea for sorl-thumbnail, but its really not. Anyway this problem might be the caching timeout, seems that there is a bug? in django dbcache so that it cannot handle that large timeout, try setting THUMBNAIL_CACHE_TIMEOUT = 3600 * 24 * 365 (on e year should be enough :))Ekaterina
Actually the default was sys.maxint which is kind of brave and datetime can't handle more than 9999 years. This is fixed in the latest commit on github: github.com/sorl/sorl-thumbnail. Thanks!Ekaterina
This did the trick: <code>THUMBNAIL_CACHE_TIMEOUT = 3600 * 24 * 365</code> but this is a hack? and its fixed in the latest commit if i understand correctly? Anyway thanks. Sorl: What do you suggest instead of: CACHE_BACKEND = 'db://cachetable' ? I created a Cache table in the database according to docs.djangoproject.com/en/dev/topics/cache/#database-caching, which was suggested by the documentation here: thumbnail.sorl.net/requirements.html#cached-dbDevine
sorl-thumbnail's cached-db uses a database for persistent key value storage but a cache will put a layer on top of that. This top layer cache should be fast, so memcached for example is a good choice. You can also use redis as a key value store which is persistent and fast.Ekaterina
P
0

try:

<img src="{{ im }}" width="{{ im.width }}" height="{{ im.height }}">
Paronymous answered 5/12, 2010 at 7:37 Comment(2)
I tried it but still didn't work, really have no idea what the problem is. I really followed the documentation step for step. Thanks for trying to help though!Devine
Check you install output for PIL installation issues. On many systems, when installed under virtualenv, PIL won't find libjpeg or libz, and thus, won't support PNG or JPEG files.Euphrates
C
0

Make sure you're using the latest 10.12 version and not the 3.2.5 one, cause your syntax belongs to the new 10.12 version.

See here the two available downloads: https://github.com/sorl/sorl-thumbnail

Clientage answered 5/12, 2010 at 10:57 Comment(2)
I used pip install sorl-thumbnail to install the latest version. I installed it according to the 10.12 syntax. Guess this is not the problem But thanks will check it out!Devine
I'm using 10.12, I double checked it today. :(Devine
W
0

It happens when you don't do the migrate command after adding sorl-thumbnail to installed_apps.

Just try python manage.py migrate.

Wehrle answered 27/8, 2022 at 15:8 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.