понедельник, 10 марта 2008 г.

Облако тэгов - Django tagging для Django 0.96 #2

Продолжение возни с тэгами.

Django-tagging 0.2.1 я не похачил, а наоборот - взял всё самое лучшее из него и перенёс в версию 0.1. Таким образом получилось совместимое с Django 0.96 приложение с готовыми инструментами для создания облака тэгов.

Скачать можно с моего сайта (34Kb). Просто распакуйте архив в папку проекта и добавьте это приложение в INSTALLED_APPS.


#settings.py
...
INSTALLED_APPS = (
    ...
    'myproject.tagging',
)


Очень просто добавить тэги к любой модели вашего проекта. Для этого нужно импортировать из django-tagging поле TagField


#models.py
...
from tagging.fields import TagField

...

class Item(models.Model):
    ...
    tags = TagField()
    ...


За что мне особенно понравилось это приложение, так это за простоту и мощь использования тэгов в шаблонах страниц. Например, следующий код я использую на главной странице для вывода облака тэгов:


#index.html

...

{% tag_cloud_for_model social.Item as item_tags %}

{% for tag in item_tags %}
    <a href="" class="tag" style="font-size:1{{tag.font_size}}pt">
        {{tag}}
    </a>
{% endfor %}

...


Это пример вывода на страницу всех тэгов объекта:


#item.html

...

{% tags_for_object recipe as tag_list %}
{% for tag in tag_list %}
    <a class="tag" href="">
        {{tag}}
    </a>
{% endfor %}

...

суббота, 1 марта 2008 г.

Django tagging для Django 0.96

"django-tagging - Джанго приложение, позволяющее добавлять к объектам любой модели тэги и делающее процесс работы с тэгами проще".
http://code.google.com/p/django-tagging/

На странице скачивания в можно скачать самую новую на текущий момент версию - django-tagging 0.2.1

Для меня проблемма в том, что эта версия не работает с Django 0.96 который установлен на хостинге.

Путем несложных умозаключений пришёл к выводу, что старую версию на сервере никто не удалял. Для того что-бы в списке показались все файлы, выбрал опцию поиска "All downloads". Предположение оказалось верным - вот она, django-tagging 0.1.
Прекрасно заработала в моём проекте. Из минусов версии 0.1 хочу отметить отсутствие облака тэгов.

p.s.: Скорее всего прийдеться таки похачить django-tagging 0.2.1 на предмет совместимости с Django 0.96. Очень уж нужно облако тэгов. О результатах обещаю сообщить :)