Django-mingus и облако тегов

tag.png В состав django-mingus включен модуль для работы с тегами, django-tagging, а вот облако тегов из коробки отсутствует. Но благо django-tagging умеет сам строить облако тегов, а нам надо только немного ему помочь в этом.

Для начала подключим шаблонные теги от django-tagging в базовый шаблон блога, templates/base.html, в самую первую строчку добавляем tagging_tags

{% load disqus_tags flatblock_tags cache navbar generic_content blog compress analytics elsewhere feeds i18n archive tagging_tags %}

Теперь нам остается тока подобрать место (в том файле где мы подключили tagging_tags) где мы хотим вывести теги и вставить такой код

<h4>Облако тегов</h4>
<div id="tagcloud"> 
  {% tag_cloud_for_model blog.Post as tags with steps=6 min_count=2 distribution=linear %}
  {% for tag in tags %}
  <a href="/tags/{{tag}}/" class="tag-{{tag.font_size}}" title="{{ tag.count }} записей" >{{tag.name}}</a> 
  {% endfor %}
  <div style="clear:both"></div>
</div>

Тут мы указываем, что брать теги с модели blog.Post, диапазон размеров шрифта до 6, брать теги с упоминанием от 2-х и больше. А дальше дело техники вывести список и оформить по желанию.

Дополнительное чтиво:

blog comments powered by Disqus