2012年12月24日月曜日

Djangoに、タグクラウドが簡単に実現できる「django-taggit」と「django-taggit-templatetags」を組み込む

Django(1.4.2)に、タグクラウドが簡単に実現できる「django-taggit」と「django-taggit-templatetags」を組み込んでみました。設定すると、データベース内にtaggit_tag、taggit_taggeditem、taggit_templatetags_amodelの3つのテーブルが出来上がります。管理サイトにログインして、実際にタグを登録すると、見事にデータベースに登録されます。タグの入れ替えや、削除も思いのまま。とにかく便利です。しかしながら、使いこなすには慣れが必要だと思います。組み込んだだけで、手が止まってしまいました(笑)。モノにするには、ちょっと時間がかかりそう。

1, pipでインストール
pip install django-taggit
pip install django-taggit-templatetags
2, settings.pyに追加
INSTALLED_APPS = (
    'taggit',
    'taggit_templatetags',
)
3, /blog/models.pyにカラム設定
from django.db import models
from taggit.managers import TaggableManager

class Blog(models.Model):
    tag = TaggableManager() 
4, syncdbする
python manage.py syncdb
5, /templates/blog/post.html
{% load taggit_extras %}

{# タグリストの場合 #}
{% get_taglist as tags %}
<ul>
{% for tag in tags %}
<li>{{tag}} ({{tag.num_times}})</li>
{% endfor %}
<ul>
{# タグクラウドの場合 #}
{% get_tagcloud as tags %}
<ul>
{% for tag in tags %}
<li><font size={{tag.weight|floatformat:0}}>{{tag}}</font></li>
{% endfor %}
<ul>
Django管理サイトの様子






参考サイト
Django で簡単にタグ機能を実装できる django-taggit が便利(presentさん)
django-taggit と django-taggit-templatetags の組み合わせが便利すぎる(presentさん)

0 件のコメント:

コメントを投稿