sorl-миниатюра не работает

Я уже несколько часов пытаюсь заставить sorl-thumbnail работать, но это просто не сработает.

Сложность в том, что он не показывает ошибок, поэтому я понятия не имею, что не так. Я следовал инструкциям, чтобы установить его.

Мой полный код можно найти здесь: https://github.com/samos123/Samos-IT/tree/master/samosit

шаблон: 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 %}

вид: 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))

Благодаря sorl теперь я наконец могу понять, в чем проблема. Похоже, это ошибка: см. полный текст ошибки здесь: 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

person Sam Stoelinga    schedule 05.12.2010    source источник


Ответы (3)


Я не знаю о вашем коде просмотра, но первый код шаблона выглядит правильно. Попробуйте установить THUMBNAIL_DEBUG = True и DEBUG = True в настройках для нормальной трассировки.

person sorl    schedule 06.12.2010
comment
Ах, теперь я получаю сообщение об ошибке. Я обновлю свой основной пост. Раньше я не мог видеть ошибку. - person Sam Stoelinga; 07.12.2010
comment
Я никогда не видел этого раньше, но это похоже на ошибку базы данных, убедитесь, что поля даты и времени/даты верны. Сбросьте/удалите базу данных, если вам нужно. - person sorl; 07.12.2010
comment
Я видел это в ваших настройках: CACHE_BACKEND = 'db://cachetable'. Не знаю, кто вам сказал, что это хорошая идея для sorl-thumbnail, но на самом деле это не так. В любом случае, эта проблема может быть тайм-аутом кэширования, кажется, это ошибка? в django dbcache, чтобы он не мог справиться с таким большим тайм-аутом, попробуйте установить THUMBNAIL_CACHE_TIMEOUT = 3600 * 24 * 365 (года должно быть достаточно :)) - person sorl; 07.12.2010
comment
На самом деле по умолчанию было sys.maxint, что довольно смело, а datetime не может выдержать более 9999 лет. Это исправлено в последнем коммите на github: github.com/sorl/sorl-thumbnail. Спасибо! - person sorl; 07.12.2010
comment
Это сработало: ‹code›THUMBNAIL_CACHE_TIMEOUT = 3600 * 24 * 365‹/code›, но это хак? и это исправлено в последнем коммите, если я правильно понимаю? В любом случае, спасибо. Сорл: Что вы предлагаете вместо: CACHE_BACKEND = 'db://cachetable'? Я создал таблицу Cache в базе данных в соответствии с docs.djangoproject.com. /en/dev/topics/cache/#database-caching, что было предложено в документации здесь: thumbnail.sorl.net/requirements.html#cached-db - person Sam Stoelinga; 08.12.2010
comment
cached-db sorl-thumbnail использует базу данных для постоянного хранения значения ключа, но кеш помещает слой поверх этого. Этот кеш верхнего уровня должен быть быстрым, поэтому, например, memcached — хороший выбор. Вы также можете использовать Redis в качестве хранилища ключевых значений, которое является постоянным и быстрым. - person sorl; 08.12.2010

пытаться:

<img src="{{ im }}" width="{{ im.width }}" height="{{ im.height }}">
person zsquare    schedule 05.12.2010
comment
Я пробовал, но все еще не работал, действительно понятия не имею, в чем проблема. Я действительно следил за документацией шаг за шагом. Спасибо за попытку помочь! - person Sam Stoelinga; 06.12.2010
comment
Убедитесь, что вы устанавливаете выходные данные для проблем с установкой PIL. Во многих системах при установке в virtualenv PIL не находит libjpeg или libz и, следовательно, не поддерживает файлы PNG или JPEG. - person slacy; 25.10.2011

Убедитесь, что вы используете последнюю версию 10.12, а не 3.2.5, потому что ваш синтаксис принадлежит новой версии 10.12.

Здесь доступны две загрузки: https://github.com/sorl/sorl-thumbnail.

person ydaniv    schedule 05.12.2010
comment
Я использовал pip install sorl-thumbnail для установки последней версии. Я установил его в соответствии с синтаксисом 10.12. Думаю проблема не в этом Но спасибо проверю! - person Sam Stoelinga; 05.12.2010
comment
Я использую 10.12, сегодня перепроверил. :( - person Sam Stoelinga; 06.12.2010