sorl-thumbnail не создает миниатюры

У меня есть некоторые трудности с sorl-thumbnail,

Мой шаблон выглядит следующим образом:

{% thumbnail project.image "75x75" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% empty %}
<p>:(</p>
{% endthumbnail %}

На моей отрисованной веб-странице я получаю следующий путь для миниатюры:

<img src="/media/cache/ff/29/ff299c50543aa807b0fbd28faf271e63.jpg" width="75" height="75">

Теперь все это имеет смысл, потому что мой MEDIA_URL устанавливается как /media/ который отображается в моем Apache httpd.conf в локальную папку на моем сервере.

Проблема в том, что этот путь не существует на сервере, поэтому изображение отображается как неработающая ссылка.

Стоит отметить, что я использую пользовательский объект хранения, хотя это не должно влиять на вещи, так как они передаются прямо через sorl.thumbnail ImageField, Также я использую memcached кеш-сервер работает на сервере.

Раздражает то, что я не получаю никаких ошибок, хотя у меня есть THUMBNAIL_DEBUG а также DEBUG так что трудно понять, что происходит не так. Я вполне уверен, что он не может записать файлы миниатюр на диск, но возвращается как успешный, потому что {% empty %} Оператор не срабатывает, и соответствующие файлы кэша не отображаются на сервере. Я не знаю почему, хотя из-за отсутствия какой-либо ошибки.

Я застрял на этом этапе, поэтому любая помощь будет оценена.

РЕДАКТИРОВАТЬ:

Я отказался от sorl и теперь использую easy-thumbnails, который работает нормально.

2 ответа

У меня была очень похожая проблема с вами, я не могу использовать easy-thumbnails потому что мне нужно создавать эскизы из внешнего источника. Я понял, что при подготовке используется та же база данных, что и при разработке, поэтому после рендеринга изображений в процессе разработки они сохраняют кэшированные имена файлов в базе данных, а когда вы пытаетесь выполнить рендеринг при подготовке, он выбирает имена файлов из той же базы данных. базы данных, но, очевидно, файлы не находятся на стадии подготовки.

Попробуйте запустить

./manage thumbnail clear

Сорл не создавал для нас миниатюры, потому что мы использовали неправильно закодированные URL. Они будут содержать "+" вместо "" или "%20" для пробелов, а sorl перекодирует их в "%2B" (кодируется "+"). Полученная ошибка URL была подавлена, а создание миниатюры было проигнорировано. Может быть, это помогает кому-то с этой проблемой.

Другие вопросы по тегам