skip to navigation
skip to content

django-slugger 1.0.4

Automatic slug field for Django.

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)

Note

slugify argument must be top-level named function.

 
File Type Py Version Uploaded on Size
django-slugger-1.0.4.tar.gz (md5) Source 2017-10-18 6KB
django_slugger-1.0.4-py3-none-any.whl (md5) Python Wheel py3 2017-10-18 6KB