Skip to content
Simple tagging for django
Python
Pull request Compare This branch is 7 commits ahead, 371 commits behind alex:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs
taggit
.gitignore
AUTHORS.txt
LICENSE.txt
MANIFEST.in
README.txt
setup.py
tox.ini

README.txt

django-taggit
=============

``django-taggit`` a simpler approach to tagging with Django.  Add ``"taggit"`` to your
``INSTALLED_APPS`` then just add a TaggableManager to your model and go::

    from django.db import models

    from taggit.managers import TaggableManager

    class Food(models.Model):
        # ... fields here

        tags = TaggableManager()

Then you can use the API like so::

    >>> apple = Food.objects.create(name="apple")
    >>> apple.tags.add("red", "green", "delicious")
    >>> apple.tags.all()
    [<Tag: red>, <Tag: green>, <Tag: delicious>]
    >>> apple.tags.remove("green")
    >>> apple.tags.all()
    [<Tag: red>, <Tag: delicious>]
    >>> Food.objects.filter(tags__name__in=["red"])
    [<Food: apple>, <Food: cherry>]

Tags will show up for you automatically in forms and the admin.

If you want to enforce lowercase tags everywhere (recommended, to avoid
ending up with tags 'Music' and 'music' which are functionally identical
but show up in different taxonomies), add to settings.py:

``TAGGIT_FORCE_LOWERCASE = True``

If you want to prevent certain words from being added as tags (such as
English articles to, from, the, of, etc.) add to settings.py:

``TAGGIT_STOPWORDS = [u'a', u'an', u'and', u'be', u'from', u'of']``

``django-taggit`` requires Django 1.1 or greater.

For more info checkout out the documentation.  And for questions about usage or
development you can contact the
`mailinglist <http://groups.google.com/group/django-taggit>`_.
Something went wrong with that request. Please try again.