Стратегия Django для автоматического предложения подходящего контента - PullRequest
1 голос
/ 28 января 2012

Я смотрю на портирование написанной на заказ PHP CMS в Django.Одной из функций, которыми обладает CMS, является функция загрузки изображений.Я пишу статью, отмечаю ее информацией, затем выбираю для нее фотографию.Если в системе есть какие-либо фотографии, которые были добавлены в статьи с тегами, общими с новой, она также предложит фотографию для этой статьи.Если совпадений нет, можно добавить новое изображение.

Если это не имеет смысла, скажем, я помечаю статью как Bruce Springsteen, The Beatles и Led Zeppelin.В следующий раз, когда я добавлю статью с тегом The Beatles, в ней должно быть предложено использовать изображение, добавленное для первой статьи.

Каков наилучший способ реализации этого в Django?Я посмотрел на приложение Photologue и интегрировал его, и я знаю, что у него есть поддержка тегов (проблема здесь в том, что я использую django-taggit, тогда как Photologue поддерживает django-tagging).Одним из подходов может быть просто создание ее самостоятельно - когда пользователь загружает статью, я запускаю хук после того, как они сохраняют ее, чтобы связать теги с изображением.Я просто не уверен, как затем автоматически предложить изображение в инструментах администратора на основе этой информации.

Любые идеи / подходы очень ценятся.

Ответы [ 2 ]

2 голосов
/ 29 января 2012

Это почти наверняка то, что вам придется создать самостоятельно. У Django есть умеренное количество библиотек (которые вы явно уже нашли). В отличие от других решений, в нем не так много вещей, которые помогут вам на 100% получить желаемое решение (тогда как что-то вроде Drupal может помочь вам на 100%).

Что вам, вероятно, нужно будет сделать (на высоком уровне), примерно так:

  • Создание представления AJAX, которое принимает текущие теги в качестве аргумента и выполняет запрос к существующим сообщениям, чтобы посмотреть, какие теги соответствуют, и возвращает изображения из этих сообщений.
  • Используйте jQuery / javascript в вашем представлении, чтобы вызвать ваше представление AJAX на странице при добавлении тегов
  • Используйте jQuery, чтобы обновить <div> на своей странице и показать все изображения, которые вернул ваш просмотр

Вот подобный пример , который может помочь вам начать.

Вы можете посмотреть django-ajax как вспомогательную библиотеку для ваших запросов, но это определенно не обязательно.

1 голос
/ 29 января 2012

Перехват между вашим графическим модулем и любым другим модулем django может быть реализован с использованием frameworkypes django , который также предоставляет некоторые полезные методы экземпляра для возврата связанных / перехваченных объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...