Skip to main content

Automatic slug field for Django.

Project description

build status code coverage pypi version license python versions django versions

Automatic slug field for your Django models.

Features

  • One query to rule them all. No database spam on model save.

  • Supports all standard “unique_for” field attributes like unique_for_date.

  • Supports model meta unique_together.

  • Supports custom “slugify” functions.

How it works

django-slugger provides AutoSlugField which value is automatically generated if it is not filled manually. If the field has any “uniqueness” constraint (unique=True, for example), numerical suffix will be used if necessary to prevent constraint violation.

If generated slug exceeds field max_length, slug value will be cut to fit in. This does not apply to suffixed slugs. Increase max_length attribute value or use custom slug template if you need more space to ensure slug uniqueness.

Installation

pip install django-slugger

Usage

from slugger import AutoSlugField

class AutoSlugModel(models.Model):
    title = models.CharField(max_length=255)
    slug = AutoSlugField(populate_from='title')

Custom slug template

By default, django-slugger will use Django slugify function (combined with unidecode to handle non-ASCII characters). To use your own function, specify it in slugify argument.

def custom_slugify(value):
    return 'custom-%s' % value

class CustomAutoSlugModel(models.Model):
    title = models.CharField(max_length=255)
    slug = AutoSlugField(populate_from='title', slugify=custom_slugify)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-slugger-1.0.4.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

django_slugger-1.0.4-py3-none-any.whl (6.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page