django-autoslug
An automated slug field for Django.
Decision gist · record as of 2026-08-14
Yes, with conditions. django-autoslug is stable, well-established (since 2009), and solves a common Django problem cleanly with zero external dependencies. However, the last release was April 2023 and maintenance is aging; verify compatibility with your current Django version before adopting. No known security vulnerabilities. The LGPL license is permissive for most use cases but requires derivative works to remain open-source.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Django 3.2 or higher and Python 3.7 or higher.
- Low friction install with no runtime dependencies.
- Last release was over a year ago (April 2023) and the repository shows aging maintenance status, though it remains active and archived status is false.
License · maintenance · safety
copyleft license (copyleft) — Licensed under GNU Lesser General Public License v3 (copyleft). You may use and modify the package freely, but derivative works must also be distributed under LGPL or a compatible license.
last release 2023-04-03 (1229 days) · last repo commit 2025-06-19 · 305 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 408,571 downloads/mo, #6,879 on PyPI
Alternatives
Verify before relying
pip install django-autoslug
from django.db.models import CharField, Model
from autoslug import AutoSlugField
class Article(Model):
title = CharField(max_length=200)
slug = AutoSlugField(populate_from='title')- Whether the aging maintenance status (last release April 2023) affects compatibility with current Django versions beyond 3.2.
- Real-world performance characteristics when handling large numbers of unique slug collisions.
What it is and what it does
django-autoslug is a reusable Django library that adds an AutoSlugField to your models—a specialized CharField that automatically generates URL-safe slugs from other model fields. Instead of manually creating and maintaining slug values, you configure the field to populate itself from a source field (like a title), and it handles the conversion to lowercase, hyphenated text automatically. The field enforces uniqueness constraints, optionally scoped to other fields, so you can have unique slugs per author or per publication date if needed.
The main value is reducing boilerplate in Django projects: you avoid writing custom save() methods or signals to generate slugs, and you get built-in support for custom slugification functions to handle non-ASCII characters and internationalization. The field is highly configurable—you can supply a lambda to derive the slug from multiple fields, define which other fields must be considered when checking uniqueness, and plug in your own slugify function. It has no external runtime dependencies beyond Django itself.
Use it for
- Auto-generate URL slugs for blog posts, articles, or product pages from their titles without manual slug management.
- Enforce unique slugs per author or category by scoping uniqueness constraints to related fields.
- Handle international content with custom slugify functions that transliterate non-ASCII characters appropriately.
- Reduce boilerplate in Django models by replacing manual slug-generation logic with a declarative field.
- Maintain slug consistency across model updates—the field regenerates automatically when the source field changes.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
django-autoslug is stable, well-established (since 2009), and solves a common Django problem cleanly with zero external dependencies. However, the last release was April 2023 and maintenance is aging; verify compatibility with your current Django version before adopting. No known security vulnerabilities. The LGPL license is permissive for most use cases but requires derivative works to remain open-source.
Install
django-autoslug on PyPI
Before you install
Low friction install with no runtime dependencies. Last release was over a year ago (April 2023) and the repository shows aging maintenance status, though it remains active and archived status is false.
Requires Django 3.2 or higher and Python 3.7 or higher.
License in practice
Licensed under GNU Lesser General Public License v3 (copyleft). You may use and modify the package freely, but derivative works must also be distributed under LGPL or a compatible license.
Quickstart
pip install django-autoslug
from django.db.models import CharField, Model
from autoslug import AutoSlugField
class Article(Model):
title = CharField(max_length=200)
slug = AutoSlugField(populate_from='title')
Verify before relying
- Whether the aging maintenance status (last release April 2023) affects compatibility with current Django versions beyond 3.2.
- Real-world performance characteristics when handling large numbers of unique slug collisions.
Package facts
| License | copyleft license copyleft |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Aging 1,229 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 408,571 / month, #6,879 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: DjangoFramework :: Django :: 3.2Intended Audience :: DevelopersLicense :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries :: Python ModulesTopic :: Text Processing :: General |
Evidence: django_autoslug-1.9.9-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “django slug field auto-generate”
- django-autoslugProvides a Django model field that automatically generates and…
- django-sqidsAdds a Django model field that encodes primary keys as short,…
- django-hashidsProvides a Django model field that proxies primary keys as…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also slugify · unicode-slugify · python-slugify · random-slugs · shortuuid · django-multiselectfield · django-organizations · django-ajax-selects · coolname · django-safedelete