понедельник, 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 %}

...

Комментариев нет: