django-taggit
django-taggit is a reusable Django application for simple tagging.
What it is and what it does
django-taggit is a reusable Django application that provides a simple, standardized way to add tagging to any Django model. It exposes a TaggableManager that you attach to a model field, then use an intuitive API to add, remove, and query tags on instances. Tags are stored in the database and automatically appear in Django forms and the admin interface without additional configuration.
The package is production-stable, actively maintained, and widely used (over 2 million monthly downloads). It requires only Django as a runtime dependency and supports modern Python versions (3.8 through 3.12) and Django versions 4.1 through 5.0. There are no known security vulnerabilities.
Use it for:
- Add flexible categorization to blog posts, articles, or content items without modifying the model schema.
- Enable users to tag products, resources, or items for discovery and filtering in a web application.
- Build a tagging system for user-generated content where tags are added dynamically at runtime.
- Implement tag-based search and filtering in Django admin or custom views.
- Create a folksonomy where multiple models share a common tag vocabulary.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds simple tagging functionality to Django models via a TaggableManager that integrates with Django's ORM, forms, and admin interface.
Yes. django-taggit is a mature, actively maintained, well-documented solution for a common Django need. It has low install friction, no security issues, and a permissive license. Install it if you need tagging on any Django model.
Install
django-taggit on PyPI
pip
pip install django-taggituv
uv add django-taggitpoetry
poetry add django-taggitInstalling django-taggit
Before you install
Low install friction with a single runtime dependency (Django). Active maintenance with recent commits and a Jazzband-hosted repository; last release was 2024-09-29.
License in practice
BSD license is permissive; you can use, modify, and distribute this package with minimal legal restrictions.
Quickstart
pip install django-taggit
from taggit.managers import TaggableManager
from django.db import models
class Food(models.Model):
tags = TaggableManager()
apple = Food.objects.create(name="apple")
apple.tags.add("red", "green")
print(apple.tags.all())
Requires Django 3.2 or greater; must add 'taggit' to INSTALLED_APPS in Django settings.
Verify before relying
- Performance characteristics when tagging large numbers of objects or querying across many tags.
- Whether the package supports hierarchical or nested tags beyond flat string tags.
- Compatibility with Django's async ORM features in recent Django versions.
Package facts
| License | BSD (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — Django |
| Maintenance | actively maintained — 684 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,224,541/month — #3,200 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_taggit-6.1.0-py3-none-any.whl
Tags
More Dynamic Content packages
MarkupSafe provides a text object that escapes…
permissive · top 100 on PyPI
Jinja2Jinja2 is a templating engine that renders…
permissive · top 100 on PyPI
soupsieveSoupsieve is a CSS selector library designed to…
permissive · top 100 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
FlaskFlask is a lightweight WSGI web application…
permissive · top 1,000 on PyPI
MakoMako compiles Python-embedded templates into…
permissive · top 1,000 on PyPI
django-invitationsProvides a generic invitation system for Django…
copyleft · top 15,000 on PyPI
django-colorfieldAdds a color field to Django models with an…
permissive · top 5,000 on PyPI
django-sortedm2mProvides a drop-in replacement for Django's…
permissive · top 15,000 on PyPI
django-embed-videoProvides Django template tags and model fields…
permissive · top 15,000 on PyPI
wagtail-modeladminAdds Django model administration interfaces to…
permissive · top 15,000 on PyPI
comictaggerComicTagger writes metadata to digital comic…
permissive · top 15,000 on PyPI
django-waffleDjango Waffle provides feature flags (toggles)…
permissive · top 5,000 on PyPI
django-jinjaIntegrates Jinja2 templating into Django,…
permissive · top 15,000 on PyPI
django-analyticalIntegrates multiple third-party analytics…
permissive · top 15,000 on PyPI
django-navhelperProvides Django template tags to automatically…
permissive · top 15,000 on PyPI