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
Community
  • 1
  • 1
Sam Stoelinga
  • 4,881
  • 7
  • 39
  • 54

4 Answers4

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.

sorl
  • 988
  • 5
  • 6
  • Ah now I'm getting the error. I will update my main post. Before I couldn't see the error. – Sam Stoelinga Dec 07 '10 at 17:29
  • 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. – sorl Dec 07 '10 at 19:48
  • 1
    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 :)) – sorl Dec 07 '10 at 19:58
  • 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: https://github.com/sorl/sorl-thumbnail. Thanks! – sorl Dec 07 '10 at 20:22
  • This did the trick: THUMBNAIL_CACHE_TIMEOUT = 3600 * 24 * 365 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 http://docs.djangoproject.com/en/dev/topics/cache/#database-caching, which was suggested by the documentation here: http://thumbnail.sorl.net/requirements.html#cached-db – Sam Stoelinga Dec 07 '10 at 22:11
  • 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. – sorl Dec 07 '10 at 23:08
0

try:

<img src="{{ im }}" width="{{ im.width }}" height="{{ im.height }}">
zsquare
  • 9,916
  • 6
  • 53
  • 87
  • 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! – Sam Stoelinga Dec 06 '10 at 18:59
  • 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. – slacy Oct 24 '11 at 23:39
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

ydaniv
  • 1,289
  • 11
  • 18
0

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

Just try python manage.py migrate.