Форум сайта python.su
Сразу извините за наивный вопрос, но уже устал перепахивать интернет и чувствую, что я, видимо, не понимаю каких-то общих принципов, которые редко кто разжевывает.
После установки Django CMS я захотел добавить picture plugin, который потребовал установить pil. Худо-бедно плагин заработал. И тут я наткнулся в туторе cms на “If you want to resize the picture you can get a thumbnail library. We recommend sorl.thumbnail”. И, решив последовать этой фразе, я застрял капитально. Ладно, я не понимаю, что такое Key Value Store и нужно ли его устанавливать, но я так и не дотукался до главного: вот, допустим, при помощи этого picture плагина я загружаю картинку. Плагин бросает ее в новую папку в папке cms_page_media (что тоже не фонтан, но речь не о том). У меня теперь есть картинка, у меня есть пример шаблона sorl:
{% thumbnail item.image "100x100" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}
Офлайн
Плагин, наверняка хранит картинки в каких-то полях моделей. С самим плагином дела не имел, так-что не знаю где именно.
Надо передать в конекст темплейта инстанс этой модели, тогда
item.image — соответствует “инстанс.поле”
Офлайн
Спасибо за ответ, чуть голова прояснилась. Только все еще трудно представить, как картинки хранятся в моделях. Понятие модели строго привязано к базе данных или это абстракция, указывающая на место, где данные хранятся? Могут ли картинки храниться в базе данных? Я как-то привык, что в папочку картинку загрузили, из папочки через адрес ее достали; а из базы данных - это же через sql запросы, как я понимаю, надо делать.
Офлайн
Ну я конечно загнул про “картинка хранится в полях моделей”. Там естественно хранятся лишь данные на картинку, а сама она лежит в папке где-то на сервере.
Модели строго привязаны к БД. есть ImageField которые похож на FileField . Вот обращаясь к этому полу джанга умеет получать и саму картинку и урл на неё. Solr нужно именно это поле, что бы получить файл картинки. Вообще он конечно и урлы понимает:
{% thumbnail "http://www.aino.se/media/i/logo.png“ ”40x40“ crop=”80% top“ as im %}
<img src=”{{ im.url }}“>
{% endthumbnail %}
Но предпочтительнее всё же работать непосредственно с моделями (например {% thumbnail product.image ”40x40" as im %}), т.к. єто как-то нагляднее, да и что бы получить урл, всё-равно нужна модель({% tumbnail {{ MEDIA_URL }}/product.image.url … %})
Офлайн
Вопросы исчерпаны. Еще раз спасибо.
Офлайн