skillfed

django-taggit

django-taggit is a reusable Django application for simple tagging.

django-taggit v6.1.0 2.2M downloads/30d#3,200 on PyPI3,444
Permissive license BSD Active released

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-taggit

uv

uv add django-taggit

poetry

poetry add django-taggit

Installing 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

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: DjangoFramework :: Django :: 4.1Framework :: Django :: 4.2Framework :: Django :: 5.0Intended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

django taggingadd tags to django modelsdjango tag managementtaggable django ormdjango model taggingsimple django tagsdjango tag filtering
django-extensionorm-helper

More Dynamic Content packages