Skip to main content

A Django field that automatically generates random slugs.

Project description

Django field that automatically generates random slugs.


Tested with Python 2.7, 3.3+ and Django 1.4+.

Getting it

To install django-randomslugfield:

$ pip install django-randomslugfield


To enable randomslugfield in your project you need to add it to INSTALLED_APPS in your projects file:



Import RandomSlugField and use it in your model:

from django.db import models
from randomslugfield import RandomSlugField

class MyModel(models.Model):
    slug = RandomSlugField(length=7)

The length argument is required.

Advanced Usage

By default randomslugfield generates its slug using these characters:


You can optionally exclude lowercase/uppercase/digits/vowels using exclude_lower=True, exclude_upper=True, exclude_digits=True, exclude_vowels=True.

You cannot exclude all characters.


class MyModel(models.Model):
    slug = RandomSlugField(length=7, exclude_lower=True)

The total number of unique slugs is determined by characters^length.

62^9 = 13,537,086,546,263,552 possible slugs
62^8 = 218,340,105,584,896 possible slugs
62^7 = 3,521,614,606,208 possible slugs
62^6 = 56,800,235,584 possible slugs
62^5 = 916,132,832 possible slugs

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 (9.2 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page